Index: binary-improvements/7dtd-server-fixes/src/ItemList.cs
===================================================================
--- binary-improvements/7dtd-server-fixes/src/ItemList.cs	(revision 301)
+++ 	(revision )
@@ -1,72 +1,0 @@
-using System;
-using System.Collections.Generic;
-
-namespace AllocsFixes
-{
-	public class ItemList
-	{
-		private static ItemList instance;
-
-		public static ItemList Instance {
-			get {
-				if (instance == null) {
-					instance = new ItemList ();
-				}
-				return instance;
-			}
-		}
-
-		private ItemList ()
-		{
-		}
-
-		private SortedDictionary<string, ItemValue> items = new SortedDictionary<string, ItemValue> ();
-
-		public List<string> ItemNames {
-			get { return new List<string> (items.Keys); }
-		}
-
-		public ItemValue GetItemValue (string itemName)
-		{
-			if (items.ContainsKey (itemName)) {
-				return items [itemName].Clone ();
-			} else {
-				itemName = itemName.ToLower ();
-				foreach (KeyValuePair<string, ItemValue> kvp in items) {
-					if (kvp.Key.ToLower ().Equals (itemName)) {
-						return kvp.Value.Clone ();
-					}
-				}
-				return null;
-			}
-		}
-
-		public void Init ()
-		{
-			NGuiInvGridCreativeMenu cm = new NGuiInvGridCreativeMenu ();
-			foreach (ItemStack invF in cm.GetAllItems()) {
-				ItemClass ib = ItemClass.list [invF.itemValue.type];
-				string name = ib.GetItemName ();
-				if (name != null && name.Length > 0) {
-					if (!items.ContainsKey (name)) {
-						items.Add (name, invF.itemValue);
-					} else {
-						//Log.Out ("Item \"" + name + "\" already in list!");
-					}
-				}
-			}
-			foreach (ItemStack invF in cm.GetAllBlocks()) {
-				ItemClass ib = ItemClass.list [invF.itemValue.type];
-				string name = ib.GetItemName ();
-				if (name != null && name.Length > 0) {
-					if (!items.ContainsKey (name)) {
-						items.Add (name, invF.itemValue);
-					} else {
-						//Log.Out ("Item \"" + name + "\" already in list!");
-					}
-				}
-			}
-		}
-	}
-}
-
Index: binary-improvements/7dtd-server-fixes/src/JSON/JSONString.cs
===================================================================
--- binary-improvements/7dtd-server-fixes/src/JSON/JSONString.cs	(revision 301)
+++ binary-improvements/7dtd-server-fixes/src/JSON/JSONString.cs	(revision 306)
@@ -33,5 +33,5 @@
 					case '\\':
 					case '"':
-					case '/':
+//					case '/':
 						sb.Append ('\\');
 						sb.Append (c);
Index: binary-improvements/7dtd-server-fixes/src/LiveData/Animals.cs
===================================================================
--- binary-improvements/7dtd-server-fixes/src/LiveData/Animals.cs	(revision 301)
+++ binary-improvements/7dtd-server-fixes/src/LiveData/Animals.cs	(revision 306)
@@ -6,34 +6,47 @@
     public class Animals
     {
-        public static List<EntityAnimal> List {
-            get {
-                List<EntityAnimal> lst = new List<EntityAnimal> ();
+		public static void Get (List<EntityAnimal> _list) {
+			_list.Clear ();
+			try {
+				List<Entity> entities = GameManager.Instance.World.Entities.list;
+				for (int i = 0; i < entities.Count; i++) {
+					Entity entity = entities [i];
 
-                try {
-                    foreach (object base_entity in GameManager.Instance.World.Entities.list) {
-                        try {
-                            Entity entity = (Entity)base_entity;
+					// Kind of hack-ish, but the game is legitimately setting the base type of animals ('entityType') to enum 0 ('EntityType.Unknown').
+					if ((entity.entityType == EntityType.Animal) || (entity is EntityAnimal)) {
+						EntityAnimal ea = (EntityAnimal)entity;
 
-                            // Kind of hack-ish, but the game is legitimately setting the base type of animals ('entityType') to enum 0 ('EntityType.Unknown').
-                            if ((entity.entityType == EntityType.Animal) || (base_entity.GetType ().ToString ().ToLower ().Contains ("animal"))) {
-                                EntityAnimal ea = (EntityAnimal)entity;
+						if (ea.IsAlive ())
+							_list.Add (ea);
+					}
+				}
+			}
+			catch (Exception e) {
+				Log.Exception (e);
+			}
+		}
 
-                                if (ea.IsAlive ())
-                                    lst.Add (ea);
-                            }
-                        }
-                        catch { }
-                    }
-                }
-                catch { }
+		public static int GetCount () {
+			int count = 0;
+			try {
+				List<Entity> entities = GameManager.Instance.World.Entities.list;
+				for (int i = 0; i < entities.Count; i++) {
+					Entity entity = entities [i];
 
-                return lst;
-            }
-        }
+					// Kind of hack-ish, but the game is legitimately setting the base type of animals ('entityType') to enum 0 ('EntityType.Unknown').
+					if ((entity.entityType == EntityType.Animal) || (entity is EntityAnimal)) {
+						EntityAnimal ea = (EntityAnimal)entity;
 
+						if (ea.IsAlive ())
+							count++;
+					}
+				}
+			}
+			catch (Exception e) {
+				Log.Exception (e);
+			}
+			return count;
+		}
 
-        public static int Count {
-            get { return List.Count; }
-        }
     }
 }
Index: binary-improvements/7dtd-server-fixes/src/LiveData/Hostiles.cs
===================================================================
--- binary-improvements/7dtd-server-fixes/src/LiveData/Hostiles.cs	(revision 301)
+++ binary-improvements/7dtd-server-fixes/src/LiveData/Hostiles.cs	(revision 306)
@@ -4,35 +4,45 @@
 namespace AllocsFixes.LiveData
 {
-    public class Hostiles
-    {
-        public static List<EntityEnemy> List {
-            get {
-                List<EntityEnemy> lst = new List<EntityEnemy> ();
+	public class Hostiles
+	{
+		public static void Get (List<EntityEnemy> _list) {
+			_list.Clear ();
+			try {
+				List<Entity> entities = GameManager.Instance.World.Entities.list;
+				for (int i = 0; i < entities.Count; i++) {
+					Entity entity = entities [i];
 
-                try {
-                    foreach (int ent_id in GameManager.Instance.World.Entities.dict.Keys) {
-                        try {
-                            Entity entity = GameManager.Instance.World.Entities.dict [ent_id];
+					if (entity is EntityEnemy) {
+						if (entity.IsAlive ())
+							_list.Add (entity as EntityEnemy);
+					}
+				}
+			}
+			catch (Exception e) {
+				Log.Exception (e);
+			}
+		}
 
-                            if (entity.entityType == EntityType.Zombie) {
-                                EntityEnemy ee = (EntityEnemy)entity;
+		public static int GetCount () {
+			int count = 0;
+			try {
+				List<Entity> entities = GameManager.Instance.World.Entities.list;
+				for (int i = 0; i < entities.Count; i++) {
+					Entity entity = entities [i];
 
-                                if (ee.IsAlive ())
-                                    lst.Add (ee);
-                            }
-                        }
-                        catch { }
-                    }
-                }
-                catch { }
+					if (entity.entityType == EntityType.Zombie) {
+						EntityEnemy ee = (EntityEnemy)entity;
 
-                return lst;
-            }
-        }
-
-        public static int Count {
-            get { return List.Count; }
-        }
-    }
+						if (ee.IsAlive ())
+							count++;
+					}
+				}
+			}
+			catch (Exception e) {
+				Log.Exception (e);
+			}
+			return count;
+		}
+	}
 }
 
Index: binary-improvements/7dtd-server-fixes/src/StateManager.cs
===================================================================
--- binary-improvements/7dtd-server-fixes/src/StateManager.cs	(revision 301)
+++ binary-improvements/7dtd-server-fixes/src/StateManager.cs	(revision 306)
@@ -9,6 +9,4 @@
 		{
 			try {
-				ItemList.Instance.Init ();
-
 				PersistentData.PersistentContainer.Load ();
 			} catch (Exception e) {
