Index: binary-improvements2/MarkersMod/API.cs
===================================================================
--- binary-improvements2/MarkersMod/API.cs	(revision 390)
+++ 	(revision )
@@ -1,6 +1,0 @@
-namespace Examples {
-	public class API : IModApi {
-		public void InitMod (Mod _modInstance) {
-		}
-	}
-}
Index: binary-improvements2/MarkersMod/AssemblyInfo.cs
===================================================================
--- binary-improvements2/MarkersMod/AssemblyInfo.cs	(revision 390)
+++ 	(revision )
@@ -1,25 +1,0 @@
-using System.Reflection;
-
-// Information about this assembly is defined by the following attributes. 
-// Change them to the values specific to your project.
-
-[assembly: AssemblyTitle ("MarkersMod")]
-[assembly: AssemblyDescription ("")]
-[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("")]
-[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("")]
-[assembly: AssemblyTrademark ("")]
-[assembly: AssemblyCulture ("")]
-
-// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
-// The form "{Major}.{Minor}.*" will automatically update the build and revision,
-// and "{Major}.{Minor}.{Build}.*" will update just the revision.
-
-[assembly: AssemblyVersion ("0.0.0.0")]
-
-// The following attributes are used to specify the signing key for the assembly, 
-// if desired. See the Mono documentation for more information about signing.
-
-//[assembly: AssemblyDelaySign(false)]
-//[assembly: AssemblyKeyFile("")]
Index: binary-improvements2/MarkersMod/Markers.cs
===================================================================
--- binary-improvements2/MarkersMod/Markers.cs	(revision 390)
+++ 	(revision )
@@ -1,121 +1,0 @@
-using System.Collections.Generic;
-using System.Net;
-using AllocsFixes.JSON;
-using AllocsFixes.NetConnections.Servers.Web;
-using AllocsFixes.NetConnections.Servers.Web.API;
-
-namespace Examples {
-	class Markers : AbsRestApi {
-		private const int NumRandomMarkers = 5;
-
-		private readonly Dictionary<string, (int, int)> markers = new Dictionary<string, (int, int)> ();
-
-		private static readonly JSONArray emptyResult = new JSONArray ();
-		
-		public Markers () {
-			GameRandom random = GameRandomManager.Instance.CreateGameRandom ();
-			
-			for (int i = 0; i < NumRandomMarkers; i++) {
-				int lat = random.RandomRange (-1000, 1001);
-				int lng = random.RandomRange (-1000, 1001);
-
-				markers.Add (WebUtils.GenerateGuid (), (lat, lng));
-			}
-		}
-
-		protected override void HandleRestGet (RequestContext _context) {
-			string id = _context.RequestPath;
-			
-			if (string.IsNullOrEmpty (id)) {
-				JSONArray result = new JSONArray ();
-
-				foreach (KeyValuePair<string, (int, int)> kvp in markers) {
-					JSONObject marker = new JSONObject ();
-					marker.Add ("id", new JSONString (kvp.Key));
-					marker.Add ("lat", new JSONNumber (kvp.Value.Item1));
-					marker.Add ("lng", new JSONNumber (kvp.Value.Item2));
-					result.Add (marker);
-				}
-				
-				SendEnvelopedResult (_context, result);
-				return;
-			}
-
-			if (!markers.TryGetValue (id, out (int, int) location)) {
-				SendEnvelopedResult (_context, emptyResult, HttpStatusCode.NotFound);
-				return;
-			}
-
-			{
-				JSONArray result = new JSONArray ();
-				JSONObject marker = new JSONObject ();
-				marker.Add ("id", new JSONString (id));
-				marker.Add ("lat", new JSONNumber (location.Item1));
-				marker.Add ("lng", new JSONNumber (location.Item2));
-				result.Add (marker);
-				SendEnvelopedResult (_context, result);
-			}
-		}
-
-		protected override void HandleRestPost (RequestContext _context, JSONNode _jsonBody) {
-			if (!(_jsonBody is JSONObject bodyObject)) {
-				SendEnvelopedResult (_context, null, HttpStatusCode.BadRequest, _jsonBody, "BODY_NOT_OBJECT");
-				return;
-			}
-
-			if (!TryGetJsonField (bodyObject, "lat", out int lat)) {
-				SendEnvelopedResult (_context, null, HttpStatusCode.BadRequest, _jsonBody, "NO_OR_INVALID_LAT");
-				return;
-			}
-
-			if (!TryGetJsonField (bodyObject, "lng", out int lng)) {
-				SendEnvelopedResult (_context, null, HttpStatusCode.BadRequest, _jsonBody, "NO_OR_INVALID_LNG");
-				return;
-			}
-
-			string newId = WebUtils.GenerateGuid ();
-			markers.Add (newId, (lat, lng));
-
-			JSONString result = new JSONString (newId);
-			SendEnvelopedResult (_context, result);
-		}
-
-		protected override void HandleRestPut (RequestContext _context, JSONNode _jsonBody) {
-			if (!(_jsonBody is JSONObject bodyObject)) {
-				SendEnvelopedResult (_context, null, HttpStatusCode.BadRequest, _jsonBody, "BODY_NOT_OBJECT");
-				return;
-			}
-
-			if (!TryGetJsonField (bodyObject, "lat", out int lat)) {
-				SendEnvelopedResult (_context, null, HttpStatusCode.BadRequest, _jsonBody, "NO_OR_INVALID_LAT");
-				return;
-			}
-
-			if (!TryGetJsonField (bodyObject, "lng", out int lng)) {
-				SendEnvelopedResult (_context, null, HttpStatusCode.BadRequest, _jsonBody, "NO_OR_INVALID_LNG");
-				return;
-			}
-
-			string id = _context.RequestPath;
-
-			if (!markers.TryGetValue (id, out (int, int) location)) {
-				SendEnvelopedResult (_context, null, HttpStatusCode.NotFound, _jsonBody, "ID_NOT_FOUND");
-				return;
-			}
-			
-			markers [id] = (lat, lng);
-
-			JSONObject result = new JSONObject ();
-			result.Add ("id", new JSONString (id));
-			result.Add ("lat", new JSONNumber (lat));
-			result.Add ("lng", new JSONNumber (lng));
-			SendEnvelopedResult (_context, result);
-		}
-
-		protected override void HandleRestDelete (RequestContext _context) {
-			string id = _context.RequestPath;
-
-			SendEnvelopedResult (_context, null, markers.Remove (id) ? HttpStatusCode.NoContent : HttpStatusCode.NotFound);
-		}
-	}
-}
Index: binary-improvements2/MarkersMod/MarkersMod.csproj
===================================================================
--- binary-improvements2/MarkersMod/MarkersMod.csproj	(revision 390)
+++ binary-improvements2/MarkersMod/MarkersMod.csproj	(revision 391)
@@ -8,5 +8,5 @@
     <ProjectGuid>{2A008E16-6EB8-4B85-A175-3CB89D9FF4AE}</ProjectGuid>
     <OutputType>Library</OutputType>
-    <RootNamespace>MarkersMod</RootNamespace>
+    <RootNamespace>Examples</RootNamespace>
     <AssemblyName>MarkersMod</AssemblyName>
     <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
@@ -16,5 +16,5 @@
     <DebugType>none</DebugType>
     <Optimize>true</Optimize>
-    <OutputPath>..\bin\Mods\MarkersMod\</OutputPath>
+    <OutputPath>..\bin\Mods\Xample_MarkersMod\</OutputPath>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
@@ -23,5 +23,5 @@
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release_Profiler|AnyCPU' ">
-    <OutputPath>..\bin\Mods\MarkersMod\</OutputPath>
+    <OutputPath>..\bin\Mods\Xample_MarkersMod\</OutputPath>
     <DefineConstants>ENABLE_PROFILER</DefineConstants>
     <Optimize>true</Optimize>
@@ -32,5 +32,5 @@
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <OutputPath>..\bin\Mods\MarkersMod\</OutputPath>
+    <OutputPath>..\bin\Mods\Xample_MarkersMod\</OutputPath>
     <DebugType>full</DebugType>
     <DebugSymbols>true</DebugSymbols>
@@ -55,7 +55,7 @@
   </ItemGroup>
   <ItemGroup>
-    <Compile Include="AssemblyInfo.cs" />
-    <Compile Include="API.cs" />
-    <Compile Include="Markers.cs" />
+    <Compile Include="src\ModApi.cs" />
+    <Compile Include="src\AssemblyInfo.cs" />
+    <Compile Include="src\Markers.cs" />
   </ItemGroup>
   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
@@ -71,7 +71,7 @@
       <Private>False</Private>
     </ProjectReference>
-    <ProjectReference Include="..\MapRendering\WebAndMapRendering.csproj">
-      <Project>{a1847b5f-7bfc-4bcd-94aa-a6c9fb7e7c54}</Project>
-      <Name>WebAndMapRendering</Name>
+    <ProjectReference Include="..\WebServer\WebServer.csproj">
+      <Project>{01b5f981-b9fd-4364-8f9e-9127130d2542}</Project>
+      <Name>WebServer</Name>
       <Private>False</Private>
     </ProjectReference>
Index: binary-improvements2/MarkersMod/src/AssemblyInfo.cs
===================================================================
--- binary-improvements2/MarkersMod/src/AssemblyInfo.cs	(revision 391)
+++ binary-improvements2/MarkersMod/src/AssemblyInfo.cs	(revision 391)
@@ -0,0 +1,25 @@
+using System.Reflection;
+
+// Information about this assembly is defined by the following attributes. 
+// Change them to the values specific to your project.
+
+[assembly: AssemblyTitle ("MarkersMod")]
+[assembly: AssemblyDescription ("")]
+[assembly: AssemblyConfiguration ("")]
+[assembly: AssemblyCompany ("The Fun Pimps LLC")]
+[assembly: AssemblyProduct ("")]
+[assembly: AssemblyCopyright ("The Fun Pimps LLC")]
+[assembly: AssemblyTrademark ("")]
+[assembly: AssemblyCulture ("")]
+
+// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
+// The form "{Major}.{Minor}.*" will automatically update the build and revision,
+// and "{Major}.{Minor}.{Build}.*" will update just the revision.
+
+[assembly: AssemblyVersion ("0.0.0.0")]
+
+// The following attributes are used to specify the signing key for the assembly, 
+// if desired. See the Mono documentation for more information about signing.
+
+//[assembly: AssemblyDelaySign(false)]
+//[assembly: AssemblyKeyFile("")]
Index: binary-improvements2/MarkersMod/src/Markers.cs
===================================================================
--- binary-improvements2/MarkersMod/src/Markers.cs	(revision 391)
+++ binary-improvements2/MarkersMod/src/Markers.cs	(revision 391)
@@ -0,0 +1,121 @@
+using System.Collections.Generic;
+using System.Net;
+using AllocsFixes.JSON;
+using Webserver;
+using Webserver.WebAPI;
+
+namespace Examples {
+	public class Markers : AbsRestApi {
+		private const int numRandomMarkers = 5;
+
+		private readonly Dictionary<string, (int, int)> markers = new Dictionary<string, (int, int)> ();
+
+		private static readonly JsonArray emptyResult = new JsonArray ();
+		
+		public Markers () {
+			GameRandom random = GameRandomManager.Instance.CreateGameRandom ();
+			
+			for (int i = 0; i < numRandomMarkers; i++) {
+				int lat = random.RandomRange (-1000, 1001);
+				int lng = random.RandomRange (-1000, 1001);
+
+				markers.Add (WebUtils.GenerateGuid (), (lat, lng));
+			}
+		}
+
+		protected override void HandleRestGet (RequestContext _context) {
+			string id = _context.RequestPath;
+			
+			if (string.IsNullOrEmpty (id)) {
+				JsonArray result = new JsonArray ();
+
+				foreach ((string markerId, (int, int) coordinates) in markers) {
+					JsonObject marker = new JsonObject ();
+					marker.Add ("id", new JsonString (markerId));
+					marker.Add ("lat", new JsonNumber (coordinates.Item1));
+					marker.Add ("lng", new JsonNumber (coordinates.Item2));
+					result.Add (marker);
+				}
+				
+				SendEnvelopedResult (_context, result);
+				return;
+			}
+
+			if (!markers.TryGetValue (id, out (int, int) location)) {
+				SendEnvelopedResult (_context, emptyResult, HttpStatusCode.NotFound);
+				return;
+			}
+
+			{
+				JsonArray result = new JsonArray ();
+				JsonObject marker = new JsonObject ();
+				marker.Add ("id", new JsonString (id));
+				marker.Add ("lat", new JsonNumber (location.Item1));
+				marker.Add ("lng", new JsonNumber (location.Item2));
+				result.Add (marker);
+				SendEnvelopedResult (_context, result);
+			}
+		}
+
+		protected override void HandleRestPost (RequestContext _context, JsonNode _jsonBody) {
+			if (!(_jsonBody is JsonObject bodyObject)) {
+				SendEnvelopedResult (_context, null, HttpStatusCode.BadRequest, _jsonBody, "BODY_NOT_OBJECT");
+				return;
+			}
+
+			if (!TryGetJsonField (bodyObject, "lat", out int lat)) {
+				SendEnvelopedResult (_context, null, HttpStatusCode.BadRequest, _jsonBody, "NO_OR_INVALID_LAT");
+				return;
+			}
+
+			if (!TryGetJsonField (bodyObject, "lng", out int lng)) {
+				SendEnvelopedResult (_context, null, HttpStatusCode.BadRequest, _jsonBody, "NO_OR_INVALID_LNG");
+				return;
+			}
+
+			string newId = WebUtils.GenerateGuid ();
+			markers.Add (newId, (lat, lng));
+
+			JsonString result = new JsonString (newId);
+			SendEnvelopedResult (_context, result, HttpStatusCode.Created);
+		}
+
+		protected override void HandleRestPut (RequestContext _context, JsonNode _jsonBody) {
+			if (!(_jsonBody is JsonObject bodyObject)) {
+				SendEnvelopedResult (_context, null, HttpStatusCode.BadRequest, _jsonBody, "BODY_NOT_OBJECT");
+				return;
+			}
+
+			if (!TryGetJsonField (bodyObject, "lat", out int lat)) {
+				SendEnvelopedResult (_context, null, HttpStatusCode.BadRequest, _jsonBody, "NO_OR_INVALID_LAT");
+				return;
+			}
+
+			if (!TryGetJsonField (bodyObject, "lng", out int lng)) {
+				SendEnvelopedResult (_context, null, HttpStatusCode.BadRequest, _jsonBody, "NO_OR_INVALID_LNG");
+				return;
+			}
+
+			string id = _context.RequestPath;
+
+			if (!markers.TryGetValue (id, out _)) {
+				SendEnvelopedResult (_context, null, HttpStatusCode.NotFound, _jsonBody, "ID_NOT_FOUND");
+				return;
+			}
+			
+			markers [id] = (lat, lng);
+
+			JsonObject result = new JsonObject ();
+			result.Add ("id", new JsonString (id));
+			result.Add ("lat", new JsonNumber (lat));
+			result.Add ("lng", new JsonNumber (lng));
+			SendEnvelopedResult (_context, result);
+		}
+
+		protected override void HandleRestDelete (RequestContext _context) {
+			string id = _context.RequestPath;
+
+			SendEnvelopedResult (_context, null, markers.Remove (id) ? HttpStatusCode.NoContent : HttpStatusCode.NotFound);
+		}
+	}
+}
Index: binary-improvements2/MarkersMod/src/ModApi.cs
===================================================================
--- binary-improvements2/MarkersMod/src/ModApi.cs	(revision 391)
+++ binary-improvements2/MarkersMod/src/ModApi.cs	(revision 391)
@@ -0,0 +1,6 @@
+namespace Examples {
+	public class ModApi : IModApi {
+		public void InitMod (Mod _modInstance) {
+		}
+	}
+}
