diff --git a/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj b/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj
index a22db44ac0..2da8f3cf31 100644
--- a/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj
+++ b/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj
@@ -69,23 +69,23 @@
-
-
-
-
-
+
+
+
-
-
-
+
+
+
+
+
diff --git a/OpenRA.Mods.D2k/Render/WithBuildingPlacedOverlayInfo.cs b/OpenRA.Mods.D2k/Render/WithBuildingPlacedOverlay.cs
similarity index 97%
rename from OpenRA.Mods.D2k/Render/WithBuildingPlacedOverlayInfo.cs
rename to OpenRA.Mods.D2k/Render/WithBuildingPlacedOverlay.cs
index 8da0ced61c..f287f1e8e6 100644
--- a/OpenRA.Mods.D2k/Render/WithBuildingPlacedOverlayInfo.cs
+++ b/OpenRA.Mods.D2k/Render/WithBuildingPlacedOverlay.cs
@@ -10,9 +10,10 @@
using OpenRA.Graphics;
using OpenRA.Mods.RA.Buildings;
+using OpenRA.Mods.RA.Render;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA.Render
+namespace OpenRA.Mods.D2k.Render
{
[Desc("Rendered when the actor constructed a building.")]
public class WithBuildingPlacedOverlayInfo : ITraitInfo, Requires, Requires
diff --git a/OpenRA.Mods.D2k/Render/WithCrumbleOverlay.cs b/OpenRA.Mods.D2k/Render/WithCrumbleOverlay.cs
index dc45b82673..6334619b4b 100644
--- a/OpenRA.Mods.D2k/Render/WithCrumbleOverlay.cs
+++ b/OpenRA.Mods.D2k/Render/WithCrumbleOverlay.cs
@@ -9,9 +9,11 @@
#endregion
using OpenRA.Graphics;
+using OpenRA.Mods.RA;
+using OpenRA.Mods.RA.Render;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA.Render
+namespace OpenRA.Mods.D2k.Render
{
[Desc("Rendered together with the \"make\" animation.")]
public class WithCrumbleOverlayInfo : ITraitInfo, Requires
diff --git a/OpenRA.Mods.D2k/Render/WithDeliveryOverlay.cs b/OpenRA.Mods.D2k/Render/WithDeliveryOverlay.cs
index a519013693..5ad005834a 100644
--- a/OpenRA.Mods.D2k/Render/WithDeliveryOverlay.cs
+++ b/OpenRA.Mods.D2k/Render/WithDeliveryOverlay.cs
@@ -11,9 +11,10 @@
using OpenRA.Effects;
using OpenRA.Graphics;
using OpenRA.Mods.RA.Buildings;
+using OpenRA.Mods.RA.Render;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA.Render
+namespace OpenRA.Mods.D2k.Render
{
[Desc("Rendered when ProductionAirdrop is in progress.")]
public class WithDeliveryOverlayInfo : ITraitInfo, Requires, Requires
diff --git a/OpenRA.Mods.D2k/Render/WithDockingOverlay.cs b/OpenRA.Mods.D2k/Render/WithDockingOverlay.cs
index 6ec56b741c..4fb88fafb4 100644
--- a/OpenRA.Mods.D2k/Render/WithDockingOverlay.cs
+++ b/OpenRA.Mods.D2k/Render/WithDockingOverlay.cs
@@ -11,9 +11,10 @@
using OpenRA.Effects;
using OpenRA.Graphics;
using OpenRA.Mods.RA.Buildings;
+using OpenRA.Mods.RA.Render;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA.Render
+namespace OpenRA.Mods.D2k.Render
{
[Desc("Rendered when a harvester is docked.")]
public class WithDockingOverlayInfo : ITraitInfo, Requires, Requires
diff --git a/OpenRA.Mods.D2k/Render/WithProductionOverlay.cs b/OpenRA.Mods.D2k/Render/WithProductionOverlay.cs
index 42bbef8a4a..ffc2876908 100644
--- a/OpenRA.Mods.D2k/Render/WithProductionOverlay.cs
+++ b/OpenRA.Mods.D2k/Render/WithProductionOverlay.cs
@@ -11,10 +11,12 @@
using System;
using System.Linq;
using OpenRA.Graphics;
+using OpenRA.Mods.RA;
using OpenRA.Mods.RA.Buildings;
+using OpenRA.Mods.RA.Render;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA.Render
+namespace OpenRA.Mods.D2k.Render
{
[Desc("Renders an animation when the Production trait of the actor is activated.",
"Works both with per player ClassicProductionQueue and per building ProductionQueue, but needs any of these.")]
diff --git a/OpenRA.Mods.D2k/R8Loader.cs b/OpenRA.Mods.D2k/SpriteLoaders/R8Loader.cs
similarity index 100%
rename from OpenRA.Mods.D2k/R8Loader.cs
rename to OpenRA.Mods.D2k/SpriteLoaders/R8Loader.cs
diff --git a/OpenRA.Mods.D2k/ChooseBuildTabOnSelect.cs b/OpenRA.Mods.D2k/World/ChooseBuildTabOnSelect.cs
similarity index 100%
rename from OpenRA.Mods.D2k/ChooseBuildTabOnSelect.cs
rename to OpenRA.Mods.D2k/World/ChooseBuildTabOnSelect.cs
diff --git a/OpenRA.Mods.D2k/D2kResourceLayer.cs b/OpenRA.Mods.D2k/World/D2kResourceLayer.cs
similarity index 100%
rename from OpenRA.Mods.D2k/D2kResourceLayer.cs
rename to OpenRA.Mods.D2k/World/D2kResourceLayer.cs
diff --git a/OpenRA.Mods.D2k/FogPaletteFromR8.cs b/OpenRA.Mods.D2k/World/FogPaletteFromR8.cs
similarity index 98%
rename from OpenRA.Mods.D2k/FogPaletteFromR8.cs
rename to OpenRA.Mods.D2k/World/FogPaletteFromR8.cs
index 46a23efdad..7196303898 100644
--- a/OpenRA.Mods.D2k/FogPaletteFromR8.cs
+++ b/OpenRA.Mods.D2k/World/FogPaletteFromR8.cs
@@ -13,7 +13,7 @@ using OpenRA.FileSystem;
using OpenRA.Graphics;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA
+namespace OpenRA.Mods.D2k
{
class FogPaletteFromR8Info : ITraitInfo
{
diff --git a/OpenRA.Mods.D2k/PaletteFromR8.cs b/OpenRA.Mods.D2k/World/PaletteFromR8.cs
similarity index 98%
rename from OpenRA.Mods.D2k/PaletteFromR8.cs
rename to OpenRA.Mods.D2k/World/PaletteFromR8.cs
index 28963f0f98..d544747761 100644
--- a/OpenRA.Mods.D2k/PaletteFromR8.cs
+++ b/OpenRA.Mods.D2k/World/PaletteFromR8.cs
@@ -13,7 +13,7 @@ using OpenRA.FileSystem;
using OpenRA.Graphics;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA
+namespace OpenRA.Mods.D2k
{
class PaletteFromR8Info : ITraitInfo
{
diff --git a/OpenRA.Mods.D2k/PaletteFromScaledPalette.cs b/OpenRA.Mods.D2k/World/PaletteFromScaledPalette.cs
similarity index 100%
rename from OpenRA.Mods.D2k/PaletteFromScaledPalette.cs
rename to OpenRA.Mods.D2k/World/PaletteFromScaledPalette.cs