Forts is a physics-based RTS where foes design and build custom bases, arm them to the teeth and blast their opponent's creations to rubble.
Recent Reviews:
Very Positive (92) - 83% of the 92 user reviews in the last 30 days are positive.
All Reviews:
Very Positive (1,483) - 80% of the 1,483 user reviews for this game are positive.
Release Date:
Apr 19, 2017

Sign in to add this item to your wishlist, follow it, or mark it as not interested

Buy Forts

Buy Forts - Soundtrack Edition

Includes 2 items: Forts, Forts - Soundtrack

Downloadable Content For This Game


Recent updates View all (96)

December 6

FORTS - Update 1.15

G'day Forts fans! We're happy to announce a massive update to the game. We've been slogging away in the background making many improvements to the experience. A long list of fixes address common issues, and we've added some new features for modders to take advantage of.

Headline items:
  • Greatly improved performance
  • Fast initial battle loading
  • Multi-monitor support
  • Monitor refresh rate support
  • Overhauled windowed mode
  • Featured replays
  • In-game crash and desync reporting
  • Automatic deletion of old files

We'll be using the featured replays to highlight competitive or otherwise entertaining battles. New players are encouraged to watch these to get useful tips on how to up their game. If you want to submit a replay for consideration, contact us at the Official Forts Discord server.

As with any update there may be some teething issues. Let us know if you come across any problems. The Discord is the best way to talk to us, or post in the bugs discussion.

Special thanks go to Romerolagus, Ximsa, 42 scientist, BoberetoGaming, Joepocalypse, KingBenjai, Endo, and General Miau for their invaluable assistance in testing this update.

Build 2018-12-06a Changelist
Add: target monitor can be selected (primary by default)
Add: moveable, resizeable windowed mode
Add: preload textures in background to reduce initial load period
Add: refresh rate selection included in resolution list
Add: featured replays are downloaded automatically, with notification on main menu
Add: options to automatically delete old files (default to 4 weeks)
Add: allow reflection to be modified on a material per projectile basis
Add: hide news items if the 'start campaign to learn' tip is visible to avoid overwhelming new players
Add: DamageMultiplier applies between projectiles in air-to-air collisions
Add: resume button to campaign instant replay
Add: a weapon script ProjectileAngle function for predictable angle offsets
Add: Replace WeaponRequiresSpotter and WeaponIsSpotter with dynamic queries to automatically handle new weapons
Add: SmallArmsPrioritiesExclude and HeavyArmsPrioritiesExclude to prevent some weapons being targeted by AI (e.g. sandbags and derrick)
Add: save window position into settings (save config on exit to retain this)
Add: checkbox to center window on start
Add: non-sequential tab stops can be used to support lists
Add: invisible and disabled tab stops are skipped to support duplicate ids on different tabs
Add: tab stops for resolution, key binding, language and keyboard list items
Add: allow difficulty levels to be set in the mission script:
AIDifficulty = { Easy = 0.1, Normal = 0.4, Hard = 0.8 }
Add: HUD buttons to force weapon placement left, right, or auto
Add: update Fmod version to 1.10.09
Add: DeflectedByTerrain for projectiles and beams to reflect off terrain
affected by VariationFactor and SpeedLossFactor
Add: allow a projectile to execute an action on reflecting from a specific terrain/material surface
if the reflection fails then return a value and perform damage and impact effect instead
Add: allow beams and projectiles to trigger EMP on intersecting doors and devices, including when EMP radius is 0
Add: support EMP beams disabling missile guidance
Add: support projectiles having a preferred up (mFlipSpriteFacingLeft flag)
Add: allow projectiles to survive under the world bounds
Add: crash files can be send to devs from within the game
Add: dynamic main menu for news, links and featured YouTube videos
Add: enable edge scrolling in windowed mode when Direct Input is in use
Add: lasers blocked by shields open doors at the reflected angle
Add: hotkeys for weapon facing (Ctrl + Q, Ctrl + W, Ctrl + E)
Add: performance stats after game: fps, tick time, physics time, AI time, checksum time
Visibility can be controlled with Performance.LogLevel in db/constants.lua
Add: ReflectDamage factor to allow projectiles to impart damage to structure upon reflection
Add: uncomplied commander.lua scripts to ease modding of commanders
Add: Mods.VerboseLogging constant to allow modders to see what files are being searched for
Add: AI.DebugLevel to control when AI shows config and detailed logging from constants
Add: Performance.LogLevel to control where to log profiling to
Add: AntiAir damage multiplier for beams to adjust damage applied to projectiles

Balance: increase Firebeam aiming arc
Balance: reduce build cost of 20mm from 650/4500 to 600/4000
Balance: some additions and reordering of AI targeting priorities
Balance: decrease stddev of cannon by 30% and remove drag of cannon and 20mm cannon
Balance: remove splash damage of repair station
Balance: reduce running cost of repair station by 20% (20 -> 16)

Optimise: calculation of min and max fire radius
Optimise: remove temporary string parameters from GetProjectileBlueprint*
Optimise: remove redundant GetType calls from Device::GetCentre*
Optimise: PhysicsManager::IntersectBeam only needs to do PointInGround test for first segment
Optimise: Vector3D::DistTo and DistSq ignores z coordinates
Optimise: TerrainManager::PointInGroundGroup does circle test first
Optimise: don't update bracing plate sprite in PhysicsManager::DrawNode
Optimise: coarse bounding circle test for projectiles intersecting with beams
Optimise: cache AimingDisruptionMax rule for Weapon::GetMinFireRadius and Weapon::GetMaxFireRadius
Optimise: only preload ambient environment effect on World start
Optimise: DeviceEditor::AimSlave avoids unnecessary call to IsAbleToFace if the slave is facing the same direction as master
Optimise: AimWeapon doesn't recalculate can face left/right if noPanning is true
Optimise: Weapon::FindDoor operates progressively, storing state in FindDoor
Optimise: Weapon::FindDoor uses LinkFilter team to limit the search
Optimise: added mMaterialReplacement to avoid searching for standin link to discover new material in PhysicsManager::DrawCladding
Optimise: removed checksum on fire segment temperature
Optimise: reduce outer loop of ReactorsClaimForts::Apply when looking for ground device needing conversion
Optimise: combine search for specific team and any closest device in ReactorsClaimForts::WithinRangeOfMarkedGroundDevice
Optimise: avoid recalculating up and right vectors in SpriteEdging::Draw
Optimise: DeviceManager::PreviewStructureOverlapInBackground and PhysicsManager::RecessOverlappingStructure intersects with other teams
Optimise: build lists for each structure/material to streamline rendering of struts, cladding and fire
Optimise: CladFoundations enumerates links of fromNode instead of testing every node
Optimise: remove unnecessary calls to UpdateCladBothSides
Optimise: DeviceManager::AddDeviceObstructions only needs to add edges facing the source
Optimise: TerrainManager::AddTerrainObstructions only needs to add edges facing the source
Optimise: PhysicsManager::GetVisibleAngles uses mPrimary flag instead of mVisited to add struts only once
Optimise: PhysicsManager::AddObstruction exits early if there are no angle brackets
Optimise: DeviceManager::DeviceInGround detects intersection with specific ground block before testing it in detail
Optimise: remove Device::mPositionGraphical from simple data area
Optimise: TerrainManager::DoesCollisionBoxIntersectWithGround remove PointInGround center point test
Optimise: TerrainManager::DoesLineSegIntersectWithGround remove PointInGroundGroup test
Optimise: bake IsLineSegOutsideExtents epsilon addition into extents, and pass in block reference
Optimise: bake static ground filling and edging into display lists
Optimise: don't calculate teamIndex in DeviceManager::DrawDevices unless necessary
Optimise: build lists of fixed and dynamic nodes, and use in DrawNodes to simplify inner loop
Optimise: minor improvements to DrawNodes and DrawNode
Optimise: minor improvement to DrawCladding
Optimise: spotters in Weapon::UpdateSpotter() aren't updated for AI or when spotter efficiency is 100% already
Optimise: multi-threaded physics, structures and projectile updates are dispatched to cores as work completes
Optimise: move mMicroStepForce into complex data, as it doesn't need to be serialised
Optimise: move projectile oversamples into the inner loop to reduce cache misses
Optimise: remove over sampling from projectile physics
Optimise: remove mGravity from PNode, no longer necessary
Optimise: UpdateTemporaryBraces uses HasRealLinks instead of RealLinkCount
Optimise: UpdateCladBothSides can use mPrimary flag instead of clearing/setting visited flag
Optimise: PaintStructures and UpdateStructureState can be called after AI update to avoid extra call to UpdateStructureStruts
Optimise: PhysicsManager::UpdateLinkState and UpdateDoors can use mPrimary flag instead of mVisited
Optimise: reduce the number of ray casts from missiles to turn
Optimise: PhysicsManager::DrawLink doesn't need to look up native material in most cases
Optimise: calculate checksum progressively (except first one to quickly flag data desyncs)
Optimise: use Hash instead PrimeHash for game state checksum
Optimise: SnapLink can use structure bounds to disregard many links
Optimise: SnapLink tests platform angle before PassesLinkFilter for faster device placement testing
Optimise: SnapToNode uses circle/rectangle test against structures
Optimise: use MarkStructureBreadthFirst for marking structures instead of DFS MarkStructure
Optimise: MarkStructureBreadthFirst can defer search for parallel link
Optimise: MarkStructureBreadthFirst can avoid calls to GetAttachedDevice
Optimise: FindDevicePlatform can reject nodes that aren't of the correct team
Optimise: FindDevicePlatform doesn't need to use GetAttachedDevice
Optimise: SnapDevices reject non-matching teams early
Optimise: UpdateNodeMass caches table pointers, defers getting parallel link until necessary uses HasRealLinks
Optimise: DumpWorld drag and door state

Fix: AI getting stuck on some missions: 205, 208, 305 (remapped nodes)
Fix: Some campaign mission replays desync (removed ropes)
Fix: Escape then resume during campaign replay desyncs
Fix: pressing esc doesn't bring up the pause menu during intro cutscene
Fix: Hurricane build speed nerf not applied to weapons
Fix: Player's faction is incorrect in campaign third part
Fix: time limited games don't show the duration exactly when timed out (4 seconds short)
Fix: extrusion tip shows frequently when building rope
Fix: teams can get out of sync
Fix: player can be ready on return if they were toggling ready before start
Fix: changing team just before joining can cause a crash
Fix: Hurricane, Firebird and Warthog weapon mods not applied correctly
Fix: unnecessary init.dat missing error
Fix: standalone device costs are out (ap sniper, swarm)
Fix: going to map selection screen while host starts game breaks loading
Fix: client can rejoin when host quits, and gets stuck waiting
Fix: don't execute UpdateWeaponCursorScaling when using windows mouse
Fix: UpdateAutofire uses different angles to open doors and fire
Fix: crash when colliding non-projectile nodes
Fix: target painting inconsistent when cursor is in front of and behind the terrain
Fix: missiles can target own structure and devices if the last chance spotter targets them
Fix: paint target fights when two players are trying to use the same spotter
Fix: don't allow allied spotters to be used to paint targets in TDM
Fix: some console logging is hidden at start
Fix: terrain join command doesn't work
Fix: weapons make hurt effect and break out of repair when hit by a zero-damage projectile
Fix: main menu in 4:3 aspect ratios is not centered vertically
Fix: mousewheel zooms view when cursor is outside of window
Fix: cursor doesn't slow down when inside an aiming arc
Fix: two cursors show at top of window
Fix: Canyon background cloud tiles clipped in 4:3 aspect ratios
Fix: some screen resolutions missing due to frequency filtering
Fix: enumerate screen resolutions for current monitor
Fix: campaign screens not centered vertically (4:3)
Fix: Swap mouse buttons, LMB + RMB to repair, lift RMB, then LMB -> stuck in pan mode
Fix: host can resume finished game after they have paused, increasing chance of problems
Fix: crash when mission scripts List value is invalid (now shows error)
Fix: always enable pause menu when showing result, and prevent disabling afterwards
Fix: mTrailEffect disappears if projectile velocity is zero
Fix: a laser won't reflect off the same shield twice
Fix: memory leak in Monitor::Update (clobbered std::string)
Fix: secondary beam damage vs materials is not modified
Fix: client is able to hide pause menu if they bring it up before the host
Fix: config not saved after dismissing the 'start campaign to learn' tip on main menu
Fix: add extra slots to the lobby to compensate for Steam leaking slots
Fix: lobby.dat can be deleted while network connectivity is lost
Fix: crash in DeviceManager::CanTypesBeGrouped when types are invalid
Fix: lobby is not left before clearing in Multiplayer::OnSteamServersDisconnected
Fix: CompositeSprite & operator= was not performing a deep copy of mRoot Node
Fix: ProjectileParams setup and use can corrupt CompositeSprite
Fix: Explosion::SparksEffect::Update strcat_s could crash if string was too long
Fix: DetonateOnExpiry team passed to SpawnEffect is invalid, causes crash
Fix: DetonateOnExpiry does not have inter-frame precision
Fix: Esc doesn't bring up menu when watching a replay in campaign
Fix: minigun damage multiplier vs bracing and laser overwritten by weapon_pack mod
Fix: AI can build through player's structure
Fix: reactor health must be rounded down in the stats panel
Fix: cycle HUD item effects and other sounds not triggering
Fix: crash when a weapon or projectile action can't find a projectile type
Fix: replay desyncs due to use of GetLocalTeamId in mission scripts for disabling weapons, etc.
Fix: weapon_pack projectile_list.lua shows error 'damagedmissile2 missing' if skirmish mod not active
Fix: if there are no replays the open replay in explorer button is still visible and crashes when pressed
Fix: weapon reloading and HUD item cycle sounds are audible when sounds muted
Fix: length of space character is incorrect around string substitutions
Fix: tip show, hid and lobby alert sounds played when fx is muted
Fix: AI FindTarget only falls back to structure targeting for heavy weapons
Fix: AlienFX is disabled the next time around if it fails to initialise
Fix: ai.lua exception when a new weapon is added and not included in some tables
Fix: new (unknown) devices which are not added to SmallArmsPriorities and HeavyArmsPriorities are not targeted by the AI
Fix: move data.AttackHintMaterialPreference into static data for keyframe efficiency
Fix: In DeviceEditor::AimSlave, if slave can't face either direction it doesn't aim at all
Fix: unbinding a key isn't permanent after restarting
Fix: duplicate actions (e.g. FireWeapon) give warnings for their key after rebinding one
Fix: duplicate actions warning colouring unecessarily applied (e.g. FireWeapon)
Fix: key navigation is enabled when binding the key
Fix: tab stop is centered on the control, not the bottom left
Fix: Weapon::FindDoor only finds doors at weapon's horizontal angle
Fix: door/background preview glitches briefly when cycling weapon previews in place
Fix: ApplyMod doesn't allow mods of mods to mod original files if the file wasn't found in the mod
E.g. to mod new weapons for a commander
Use path such as mods\sandbags_large\mods\commander-bpo-scattershot\mods\sandbags_large\devices\sandbags_large.lua
Fix: Negative mass devices cause instability when linking
Fix: AI can connect to neutral joints that are falling, preventing further progress
Fix: step/long forts have ropes that fail to connect on Wingman 4v4
Fix: script exception when creating a flaming version of a projectile with WeaponDamageBonus not set
Fix: temporarily braced nodes can float indefinitely if they are attached to a node deleted by PhysicsManager::DeleteNode
Fix: shrapnel can penetrate terrain at close range to flak detonation
Fix: can't build neutral structure close to player teams in map editor
Fix: map editor node preview doesn't obey ownership and support rules when nothing selected
Fix: Different players, including AI, can connect to a neutral structure at the same time as player
Fix: some foundation cladding is missing
Fix: foundation cladding can cross from one side of a tunnel to the other
Fix: temp braced node left floating after break
Fix: remove debug message from Warthog
Fix: Sleep(8) in Main::Execute is unnecessary and can reduce performance
Fix: classic forts are being selected, matchAllForts was true
Fix: valid TDM forts are being missed
Fix: AI-TDM test doesn't run with TDM teams on side 2
Fix: missing sprite console error; load ui arrow sprites before initialising the console
Fix: extrusion can snap to the same node, causing a node to link to itself
Fix: being out of focus when the game starts may freeze the game and cause replays to freeze during seeking
Fix: AI closes doors on weapons too soon
Fix: invalid enum passed to texture mag filter
Fix: negative values passed to scissor test
Fix: Debug object could possible enter critical section and never leave it
Fix: crash or physics explosion when loading out of date campaign fgs
Fix: crash or physics explosion when pasting out of date structure clipboard
Fix: beams don't respect the DeflectedByShield flag
Fix: disabled doors make open/close sounds
Fix: some out of date maps cause errors for using dofile
Fix: damaging an ignited missile or igniting a damaged missile extends its lifetime
add KeepLifespan flag to limit created projectiles' lifespan to that of their parent
Fix: screen shaking with world extents that are wider than they are tall
Fix: slaves on sloping platforms have incorrect aim when refired
Fix: Workshop mods can be of different versions, causing desyncs
Fix: Workshop item downloads can get stuck
Fix: replacing a device platform with armour attempts to use backbracing
Fix: visible angles drawn out the back of a weapon when facing wrong direction
Fix: visible angles are not drawn through existing doors when previewing a weapon
Fix: laser is not blocked by self when reflected
Fix: laser shoots through self when reflected
Fix: explore replay file button visible without a selection
Fix: mission 104 doesn't have terrain skirt on the left side
Fix: spelling of amendment in Black Gold campaign
Fix: mortar power text shrinks relative to aiming arc when zoomed out
Fix: Mission completion achievement can fail to be awarded
Fix: Mission 308 “Hydra” able to get “top or bottom” fort achievement by destroying middle fort
Fix: fog and line width OpenGL errors
Fix: tab stops/list key navigation broken on options screen key ListBoxes
Fix: list key navigation doesn't support two simultaneously visible ListBoxes
Fix: key navigation in editor menu, replay select, map select, and multiselect
Fix: strut replacement can be used to overlap struts sharing a joint
Fix: world dump of ropes shows link progress as inf
Fix: preloading textures to different degrees causes desyncs
Fix: Catacombs has blank terrain surfaces
Fix: solar panel splits in half at full length
Fix: crash if there is no impact effect for projectile
Fix: shield states get out of sync when an emp hits when in warmup
Fix: when a weapon recesses a FG strut, the next time it's replaced the strut is permeable to projectiles
Fix: letterbox shows in replay of resumed linear missions
Fix: replacing the material starting struts allows projectiles to pass and shows holes

Remove: map editor Copy tab (collapsed into Edit tab)
Remove: various console spam
7 comments Read more

September 17

FORTS - HOTFIX 2018-09-17a

G'day Forts fans! We've become aware of a cheat being used to gain an advantage over other players. This update will now cause a Data desync if this is used, or other modifications are made to your local data files. If you experience a Data desync immediately upon entering a multiplayer battle, follow this procedure:

1) Right click on Forts in Steam
2) Select properties, then go to the local files tab
3) Select Verify integrity of game files

Any changes to your files will be reverted.

Note: this will not remove files that have been added. The game preloads all scripts in the effects folder, including those of active mods. So adding any will still cause a Data deysnc. If this happens, delete the extra scripts, or delete all scripts and then verify the game files to get a new, unpolluted copy. If you are still having trouble, delete the data folder and then verify, or re-install Forts.

HOTFIX 2018-09-17a
Add: DebugPixelFormat option to avoid DescribePixelFormat, potential cause of crash for a user
Balance: Firebeam penetrates at least 90 after armour (reduced from 120)
Optimise: only preload ambient environment effect on World start
Fix: scripts and images can be edited to expose hidden information (now causes Data desync)
Fix: link initial hitpoints not updated when backgrounding a strut
Fix: ExplosionCache::LoadExplosion adds effects even if they're already loaded
Fix: EMP is triggered when ignited by Firebeam
Fix: flaming warheads turn into damaged warheads when hit, not damaged flaming warheads
Fix: crash when sending files during a desync report

HOTFIX 2018-09-18a
Fix: some mods cause Data desyncs
1 comments Read more


“Brisbane-based Earthwork Games has brought out a fort building - and fort destroying - simulator that combines strategy, engineering, aiming, and micromanagement. It's a fun cocktail that puts me in mind of Scorched Earth, or maybe a Scorched Earth that let me build a bunker around my tank. And then three more tanks on my bunker.”

“Forts is an exceptional example of how a release can properly integrate many mechanics, from multiple genres, and get it right. The fast-paced challenge of managing multiple tasks before you’re obliterated creates a sense of urgency and an increased heart rate that you wouldn’t normally find from a title that simply leverages one of these mechanics. Buy Forts, and make a solid investment in your game library.”
The Overpowered Noobs

“Forts is a simple, fun game, has a nice sense of humour and is guaranteed to get your brain whirling as you figure out the best way to build your base, defend your weapons while also pelting the enemy with bullets and bombs.”

About This Game

Tons of Guns - Free Multiplayer Update

The arms race intensifies with this new update that adds two new tech buildings which allow commanders access to six formidable new weapons, and a host of new and varied strategies. The Armoury unlocks Flak guns to clear the skies of enemy projectiles, and EMP rockets to power down enemy tech, both of which can be upgraded to the Shotgun and twin Rocket launcher, respectively. The classic Cannon is now found in the new Munitions Plant, where it is joined by it's little brother, the burst-firing 20mm Cannon. The Factory now produces two beam weapons, the classic Plasma Laser and the new Firebeam, great for penetrating fortifications to ignite them from within.

Tons of Guns comes complete with new AI forts bristling with new weapons for players to take on in Skirmish or Multiplayer, and a new Mod Selection feature, which allows several new game types, such as Fast Build, Rapid Fire and Zero Gravity. Also included are Truce mods, which provide a period of varying lengths in which players can build up their forts in peace, before they start blasting each other into oblivion. All this, and the previously released Steam Workshop integration, comes free to Forts owners and increases the fort building possibilities of the game. Enjoy!


Forts is a physics-based RTS where foes design and build custom bases, arm them to the teeth and blast their opponent's creations to rubble.

Build an armoured fort in real-time and arm it to the teeth. Collect resources, develop your tech-tree, unlock advanced weapons to target your opponent's weak points, and feel the satisfaction as their fort comes crashing down.

  • Build forts of any size and shape, as you fight
  • Up to 8 players in online multiplayer with co-op and team death match
  • Ranked multiplayer matchmaking and leaderboards
  • 28 mission single-player campaign
  • Challenging skirmish mode
  • Unlockable tech-tree
  • Various materials and hidden rooms
  • 16 unique weapons
  • 4 factions
  • 12 commander characters with unique game-changing abilities
  • Powerful replay system
  • Built-in level editor
  • Steam Workshop Support
  • Designed from the ground up to support mods


Commander characters are available in multiplayer and skirmish modes, providing different advantages. Each commander has passive abilities, active throughout the battle, and a powerful dynamic ability which, once charged by damage, can change the tide of battle. Choose the commander to compliment your strategy.

Eagle Eye - Eagle Empire

Passive Abilities
  • Laser sights - Snipers are fitted with adjustable laser sights.
  • Increased accuracy - Machine Gun and Minigun spread is reduced.
  • Bigger magazines - Machine Gun and Miniguns magazines capacity increased

Dynamic Ability
  • Explosive bullets - Snipers and Miniguns fire devastating bursts of explosive shells.

Architect - Dragon Army

Passive Abilities
  • Cheap materials - Fort building materials have a reduced cost.
  • Higher storage capacity - Batteries and Metal Stores enjoy increased capacity.

Dynamic Ability
  • 4x build speed - Weapons, devices and structures build at 400% normal rate.

Armourdillo - Iron Bear Alliance

Passive Abilities
  • Cheap Armour - Armour and Doors are less expensive to build.
  • Quick open Doors - Doors open and shut at twice normal rate.

Dynamic Ability
  • Rapid Repair - Weapons, devices and structures are repaired at an increased rate, and for half normal cost.

About EarthWork Games

EarthWork Games is an independent game developer based in Brisbane, Australia. With over fifty five years of game development experience between us, we are eager to create games that we enjoy playing, and enjoy making.

System Requirements

    • OS: Windows Vista, 7, 8 or 10
    • Processor: Pentium Dual-Core 2.7GHz
    • Memory: 4 GB RAM
    • Graphics: Intel HD Graphics 520
    • DirectX: Version 9.0c
    • Storage: 1 GB available space

What Curators Say

66 Curators have reviewed this product. Click here to see them.
Customer reviews
High Volume of Reviews Detected:
Exclude  or  View Only
Review Type

Purchase Type


Date Range
To view reviews within a date range, please click and drag a selection on a graph above or click on a specific bar.

Show graph

Display As:
Review Beta NEW!
When enabled, will sort reviews by new Helpfulness score. Read more about it in the blog post.
Show graph
Hide graph
Review Helpfulness Beta Enabled
There are no more reviews that match the filters set above
Adjust the filters above to see other reviews
Loading reviews...