diff --git a/MrBigsock/Assets/Code/PlayerController.cs b/MrBigsock/Assets/Code/PlayerController.cs
index ae52e888e8486d670103534ba9055932b362f432..ef3aafccc18e4c0a78a3e63fad1d4d0ce1e63d19 100644
--- a/MrBigsock/Assets/Code/PlayerController.cs
+++ b/MrBigsock/Assets/Code/PlayerController.cs
@@ -72,7 +72,7 @@ namespace BigSock {
 			TryPickUpItem(ItemService.SINGLETON.Get(101));
 			*/
 			//var tmp = PrefabService.SINGLETON;
-			var tmp = SpriteService.SINGLETON;
+			//var tmp = SpriteService.SINGLETON;
 
 			_testAttack = (IAttack) AbilityService.SINGLETON.Get(101);
 			_testAttack2 = (IAttack) AbilityService.SINGLETON.Get(102);
diff --git a/MrBigsock/Assets/Code/Services/AbilityService.cs b/MrBigsock/Assets/Code/Services/AbilityService.cs
index 1849ecf96f6096928a9ca3abc4d406f12def88f7..a9d7eec6370e23897473a03b08c9cc1fd4d4fa41 100644
--- a/MrBigsock/Assets/Code/Services/AbilityService.cs
+++ b/MrBigsock/Assets/Code/Services/AbilityService.cs
@@ -70,9 +70,9 @@ namespace BigSock.Service {
 			_abilities = _abilityList
 				.ToDictionary(t => t.Id);
 
-			foreach(var a in _abilityList) {
-				Debug.Log($"[AbilityService._loadItems()] {a.Id}");
-			}
+			//foreach(var a in _abilityList) {
+			//	Debug.Log($"[AbilityService._loadItems()] {a.Id}");
+			//}
 		}
 
 		/*
diff --git a/MrBigsock/Assets/Code/Services/PrefabService.cs b/MrBigsock/Assets/Code/Services/PrefabService.cs
index 07bff22981a08f8c3891a7ac7c5f4cc146da7872..d39ec9a4026b39a1d8b7d0aedcb90fd83bf10224 100644
--- a/MrBigsock/Assets/Code/Services/PrefabService.cs
+++ b/MrBigsock/Assets/Code/Services/PrefabService.cs
@@ -80,7 +80,7 @@ namespace BigSock.Service {
 				var name = _sanitize(path.Replace(".prefab", "").Replace("Assets/Prefabs/", ""));
 				GameObject go = AssetDatabase.LoadAssetAtPath<GameObject>( path );
 
-				Debug.Log($"[PrefabService._loadItems()] {name}");
+				//Debug.Log($"[PrefabService._loadItems()] {name}");
 				dict[name] = go;
 			}
 
diff --git a/MrBigsock/Assets/Code/Services/SpriteService.cs b/MrBigsock/Assets/Code/Services/SpriteService.cs
index 8ae74750fb8dba2304f271b48ab90b2e39628a03..d52249f930c58d7843d9a99eef328fbf1ae47461 100644
--- a/MrBigsock/Assets/Code/Services/SpriteService.cs
+++ b/MrBigsock/Assets/Code/Services/SpriteService.cs
@@ -55,7 +55,7 @@ namespace BigSock.Service {
 				var name = _sanitize(path.Replace(".png", "").Replace(".jpg", "").Replace("Assets/Sprites/", ""));
 				Sprite go = AssetDatabase.LoadAssetAtPath<Sprite>( path );
 
-				Debug.Log($"[SpriteService._loadItems()] {name}");
+				//Debug.Log($"[SpriteService._loadItems()] {name}");
 				dict[name] = go;
 			}
 
diff --git a/MrBigsock/Assets/Code/UI/InventoryPanel.cs b/MrBigsock/Assets/Code/UI/InventoryPanel.cs
index 68c713b7b9a191fe8d4707c43871f5fac823c3ed..958473c7cd15b8fe6cd48979f7b6398e6ded05ed 100644
--- a/MrBigsock/Assets/Code/UI/InventoryPanel.cs
+++ b/MrBigsock/Assets/Code/UI/InventoryPanel.cs
@@ -7,107 +7,99 @@ using UnityEngine.UI;
 
 namespace BigSock.UI
 {
-    public class InventoryPanel : MonoBehaviour
-    {
-        public PlayerController player;
-        public const string INVSLOT = "UI/Inventoryslot";
-        public const string ITEM = "UI/Item";
+	public class InventoryPanel : MonoBehaviour
+	{
+		public PlayerController player;
+		public const string INVSLOT = "UI/Inventoryslot";
+		public const string ITEM = "UI/Item";
 
-        public GridLayoutGroup gridBackPack;
-        public GridLayoutGroup gridTools;
-        public GridLayoutGroup gridAccessory;
-        public GridLayoutGroup gridEquipment;
+		public GridLayoutGroup gridBackPack;
+		public GridLayoutGroup gridTools;
+		public GridLayoutGroup gridAccessory;
+		public GridLayoutGroup gridEquipment;
 
-        //var bullet = PrefabService.SINGLETON.Instance(PROJECTILE_NAME, actor.transform.position);
-        //var bulletScript = bullet.GetComponent<AttackMovement>();
+		public void Start() {
+			GenerateInv();
+		}
 
-        public void Start()
-        {
-            GenerateInv();
-        }
-        public void GenerateInv()
-        {
-            var inventory = player.Inventory;
-            
-            
-            for (int i = 0; i < inventory.Backpack.Count; ++i)
-            {
-                var invSlot = PrefabService.SINGLETON.Instance(INVSLOT, gridBackPack.transform);
-                var invScript = invSlot.GetComponent<ItemSlot>();
-                invScript.inventory = inventory;
-                invScript.inventoryType = InventoryType.Backpack;
-                invScript.position = i;
-                var item = inventory.Backpack[i];
-                if (item != null)
-                {
-                    var itemPref = PrefabService.SINGLETON.Instance(ITEM, transform);
-                    var itemScript = itemPref.GetComponent<ItemPref>();
-                    itemScript.item = item;
-                    itemScript.itemSlot = invScript;
-                    invScript.item = itemScript;
-                    itemScript.transform.position = invScript.transform.position;
-                   
-                }
-            }
-            for (int i = 0; i < inventory.Tools.Count; ++i)
-            {
-                var invSlot = PrefabService.SINGLETON.Instance(INVSLOT, gridTools.transform);
-                var invScript = invSlot.GetComponent<ItemSlot>();
-                invScript.inventory = inventory;
-                invScript.inventoryType = InventoryType.Tool;
-                invScript.position = i;
-                var item = inventory.Tools[i];
-                if (item != null)
-                {
-                    var itemPref = PrefabService.SINGLETON.Instance(ITEM, transform);
-                    var itemScript = itemPref.GetComponent<ItemPref>();
-                    itemScript.item = item;
-                    itemScript.itemSlot = invScript;
-                    invScript.item = itemScript;
-                    itemScript.transform.position = invScript.transform.position;
+		public void GenerateInv()
+		{
+			var inventory = player.Inventory;
+			
+			for (int i = 0; i < inventory.Backpack.Count; ++i)
+			{
+					var invSlot = PrefabService.SINGLETON.Instance(INVSLOT, gridBackPack.transform);
+					var invScript = invSlot.GetComponent<ItemSlot>();
+					invScript.inventory = inventory;
+					invScript.inventoryType = InventoryType.Backpack;
+					invScript.position = i;
+					var item = inventory.Backpack[i];
+					if (item != null)
+					{
+							var itemPref = PrefabService.SINGLETON.Instance(ITEM, transform);
+							var itemScript = itemPref.GetComponent<ItemPref>();
+							itemScript.item = item;
+							itemScript.itemSlot = invScript;
+							invScript.item = itemScript;
+							itemScript.transform.position = invScript.transform.position;
+					}
+			}
+			for (int i = 0; i < inventory.Tools.Count; ++i)
+			{
+					var invSlot = PrefabService.SINGLETON.Instance(INVSLOT, gridTools.transform);
+					var invScript = invSlot.GetComponent<ItemSlot>();
+					invScript.inventory = inventory;
+					invScript.inventoryType = InventoryType.Tool;
+					invScript.position = i;
+					var item = inventory.Tools[i];
+					if (item != null)
+					{
+							var itemPref = PrefabService.SINGLETON.Instance(ITEM, transform);
+							var itemScript = itemPref.GetComponent<ItemPref>();
+							itemScript.item = item;
+							itemScript.itemSlot = invScript;
+							invScript.item = itemScript;
+							itemScript.transform.position = invScript.transform.position;
+					}
+			}
+			for (int i = 0; i < inventory.Equipment.Count; ++i)
+			{
+					var invSlot = PrefabService.SINGLETON.Instance(INVSLOT, gridEquipment.transform);
+					var invScript = invSlot.GetComponent<ItemSlot>();
+					invScript.inventory = inventory;
+					invScript.inventoryType = InventoryType.Equipment;
+					invScript.position = i;
+					var item = inventory.Equipment[i];
+					if (item != null)
+					{
+							var itemPref = PrefabService.SINGLETON.Instance(ITEM, transform);
+							var itemScript = itemPref.GetComponent<ItemPref>();
+							itemScript.item = item;
+							itemScript.itemSlot = invScript;
+							invScript.item = itemScript;
+							itemScript.transform.position = invScript.transform.position;
+					}
+			}
+			for (int i = 0; i < inventory.Accessories.Count; ++i)
+			{
+					var invSlot = PrefabService.SINGLETON.Instance(INVSLOT, gridAccessory.transform);
+					var invScript = invSlot.GetComponent<ItemSlot>();
+					invScript.inventory = inventory;
+					invScript.inventoryType = InventoryType.Accessory;
+					invScript.position = i;
+					var item = inventory.Accessories[i];
+					if (item != null)
+					{
+							var itemPref = PrefabService.SINGLETON.Instance(ITEM, transform);
+							var itemScript = itemPref.GetComponent<ItemPref>();
+							itemScript.item = item;
+							itemScript.itemSlot = invScript;
+							invScript.item = itemScript;
+							itemScript.transform.position = invScript.transform.position;
+					}
+			}
 
-                }
-            }
-            for (int i = 0; i < inventory.Equipment.Count; ++i)
-            {
-                var invSlot = PrefabService.SINGLETON.Instance(INVSLOT, gridEquipment.transform);
-                var invScript = invSlot.GetComponent<ItemSlot>();
-                invScript.inventory = inventory;
-                invScript.inventoryType = InventoryType.Equipment;
-                invScript.position = i;
-                var item = inventory.Equipment[i];
-                if (item != null)
-                {
-                    var itemPref = PrefabService.SINGLETON.Instance(ITEM, transform);
-                    var itemScript = itemPref.GetComponent<ItemPref>();
-                    itemScript.item = item;
-                    itemScript.itemSlot = invScript;
-                    invScript.item = itemScript;
-                    itemScript.transform.position = invScript.transform.position;
-
-                }
-            }
-            for (int i = 0; i < inventory.Accessories.Count; ++i)
-            {
-                var invSlot = PrefabService.SINGLETON.Instance(INVSLOT, gridAccessory.transform);
-                var invScript = invSlot.GetComponent<ItemSlot>();
-                invScript.inventory = inventory;
-                invScript.inventoryType = InventoryType.Accessory;
-                invScript.position = i;
-                var item = inventory.Accessories[i];
-                if (item != null)
-                {
-                    var itemPref = PrefabService.SINGLETON.Instance(ITEM, transform);
-                    var itemScript = itemPref.GetComponent<ItemPref>();
-                    itemScript.item = item;
-                    itemScript.itemSlot = invScript;
-                    invScript.item = itemScript;
-                    itemScript.transform.position = invScript.transform.position;
-
-                }
-            }
-
-        }
-    }
+		}
+	}
 }
 
diff --git a/MrBigsock/Assets/Code/UI/ItemPref.cs b/MrBigsock/Assets/Code/UI/ItemPref.cs
index 4887c581573e9a443add5f17314ce8d8eab3e6a1..d918cc5617a6fd6fc7aa89876138918cc9dbfb64 100644
--- a/MrBigsock/Assets/Code/UI/ItemPref.cs
+++ b/MrBigsock/Assets/Code/UI/ItemPref.cs
@@ -27,7 +27,6 @@ namespace BigSock.UI
 		{
 			rectTransform = GetComponent<RectTransform>();
 			canvasGroup = GetComponent<CanvasGroup>();
-
 		}
 		public void OnBeginDrag(PointerEventData eventData)
 		{
diff --git a/MrBigsock/Assets/Code/UI/ItemSlot.cs b/MrBigsock/Assets/Code/UI/ItemSlot.cs
index 2acba8ea83437225efd1fec0640631c9b2e9e260..d4cbdcd1dc3120f3a1e7e43423c6088fc9f7dc15 100644
--- a/MrBigsock/Assets/Code/UI/ItemSlot.cs
+++ b/MrBigsock/Assets/Code/UI/ItemSlot.cs
@@ -7,33 +7,55 @@ using BigSock.Item;
 
 namespace BigSock.UI
 {
-    public class ItemSlot : MonoBehaviour, IDropHandler
-    {
-        public InventoryType inventoryType;
-        public int position;
-        public ItemPref item;
-        public Inventory inventory;
-        public void OnDrop(PointerEventData eventData)
-        {
-            if (eventData.pointerDrag != null)
-            {
-                //eventData.pointerDrag.GetComponent<DragDrop>()?.position = null;
-                var itemPref = eventData.pointerDrag.GetComponent<ItemPref>();
-                if (itemPref != null)
-                {                    
-                    var didMove = inventory.MoveItem(itemPref.item, itemPref.itemSlot.inventoryType, 
-                        itemPref.itemSlot.position, inventoryType, position);
-                    if (didMove)
-                    {
-                        itemPref.itemSlot.item = null;
-                        itemPref.itemSlot = this;
-                        item = itemPref;
-                        eventData.pointerDrag.transform.position = transform.position;
-                        itemPref.position = null;
+	public class ItemSlot : MonoBehaviour, IDropHandler
+	{
+		public InventoryType inventoryType;
+		public int position;
+		public ItemPref item;
+		public Inventory inventory;
 
-                    }
-                }
-            }
-        }
-    }
+		bool firstRan = false;
+
+		public void Start() {
+			transform.hasChanged = false;
+			if(transform.hasChanged) {
+				//Debug.Log($"[ItemSlot.Start({GetInstanceID()})] {transform.position}");
+				
+			}
+		}
+
+		public void Update() {
+			// If it hasn't ran before, and the position has changed, update the ItemPref.
+			if(!firstRan && transform.hasChanged) {
+				transform.hasChanged = false;
+				firstRan = true;
+				
+				if(item != null) {
+					//Debug.Log($"[ItemSlot.Update({GetInstanceID()})] Item: {item?.transform?.position}, Slot: {transform.position}");
+					item.transform.position = transform.position;
+				}
+			}
+		}
+
+		public void OnDrop(PointerEventData eventData)
+		{
+				if (eventData.pointerDrag != null)
+				{
+						var itemPref = eventData.pointerDrag.GetComponent<ItemPref>();
+						if (itemPref != null)
+						{                    
+								var didMove = inventory.MoveItem(itemPref.item, itemPref.itemSlot.inventoryType, 
+										itemPref.itemSlot.position, inventoryType, position);
+								if (didMove)
+								{
+										itemPref.itemSlot.item = null;
+										itemPref.itemSlot = this;
+										item = itemPref;
+										eventData.pointerDrag.transform.position = transform.position;
+										itemPref.position = null;
+								}
+						}
+				}
+		}
+	}
 }