diff --git a/src/main/java/com/comandante/creeper/ConfigureNpc.java b/src/main/java/com/comandante/creeper/ConfigureNpc.java
index b7beab8a2e580d4246f3d509c24a82aebe293fcc..7799e9af3cf240ed5a188f8eb6226f315eef0f94 100755
--- a/src/main/java/com/comandante/creeper/ConfigureNpc.java
+++ b/src/main/java/com/comandante/creeper/ConfigureNpc.java
@@ -445,5 +445,6 @@ public class ConfigureNpc {
         SpellRegistry.addSpell(new ClumsinessSpell(gameManager));
         SpellRegistry.addSpell(new RestoreSpell(gameManager));
         SpellRegistry.addSpell(new AidsSpell(gameManager));
+        SpellRegistry.addSpell(new FreezeSpell(gameManager));
     }
 }
diff --git a/src/main/java/com/comandante/creeper/Items/ItemUseRegistry.java b/src/main/java/com/comandante/creeper/Items/ItemUseRegistry.java
index 716bb60d209b6ed14e26bbccf715997ffd6d0895..50c68150f2af9253c0eb6f5ee94f9de97ef31b66 100644
--- a/src/main/java/com/comandante/creeper/Items/ItemUseRegistry.java
+++ b/src/main/java/com/comandante/creeper/Items/ItemUseRegistry.java
@@ -2,6 +2,7 @@ package com.comandante.creeper.Items;
 
 import com.comandante.creeper.Items.use.DefaultApplyStatsAction;
 import com.comandante.creeper.Items.use.DirtyBombUseAction;
+import com.comandante.creeper.Items.use.ResetAllEffectsUseAction;
 import com.comandante.creeper.managers.GameManager;
 import com.comandante.creeper.player.Player;
 import com.comandante.creeper.spells.Effect;
@@ -43,7 +44,7 @@ public class ItemUseRegistry {
         addItemUseAction(new DefaultApplyStatsAction(ItemType.DOGDICKS, buildStats(500,500), Sets.<Effect>newHashSet()));
         
         //Mithaem Leaf
-        addItemUseAction(new DefaultApplyStatsAction(ItemType.MITHAEM_LEAF, buildStats(0,0), resetEffects()));
+        addItemUseAction(new ResetAllEffectsUseAction(ItemType.MITHAEM_LEAF));
 
         //Dirty Bomb
         addItemUseAction(new DirtyBombUseAction(ItemType.DIRTY_BOMB));
diff --git a/src/main/java/com/comandante/creeper/Items/use/ResetAllEffectsUseAction.java b/src/main/java/com/comandante/creeper/Items/use/ResetAllEffectsUseAction.java
new file mode 100644
index 0000000000000000000000000000000000000000..eb610a27f89f656a116d844dbe3219c324f970aa
--- /dev/null
+++ b/src/main/java/com/comandante/creeper/Items/use/ResetAllEffectsUseAction.java
@@ -0,0 +1,51 @@
+package com.comandante.creeper.Items.use;
+
+import com.comandante.creeper.Items.Item;
+import com.comandante.creeper.Items.ItemType;
+import com.comandante.creeper.Items.ItemUseAction;
+import com.comandante.creeper.Items.ItemUseRegistry;
+import com.comandante.creeper.managers.GameManager;
+import com.comandante.creeper.player.Player;
+import com.comandante.creeper.spells.Effect;
+
+import java.util.Set;
+
+public class ResetAllEffectsUseAction implements ItemUseAction {
+
+    private final ItemType itemType;
+
+    public ResetAllEffectsUseAction(ItemType itemType) {
+        this.itemType = itemType;
+    }
+
+    @Override
+    public Integer getItemTypeId() {
+        return itemType.getItemTypeCode();
+    }
+
+
+    @Override
+    public void executeAction(GameManager gameManager, Player player, Item item) {
+        player.resetEffects();
+        gameManager.getChannelUtils().write(player.getPlayerId(), "All Effects are removed." + "\r\n");
+    }
+
+    @Override
+    public void postExecuteAction(GameManager gameManager, Player player, Item item) {
+        ItemUseRegistry.incrementUses(item);
+        if (ItemType.itemTypeFromCode(item.getItemTypeId()).isDisposable()) {
+            if (item.getNumberOfUses() < ItemType.itemTypeFromCode(item.getItemTypeId()).getMaxUses()) {
+                gameManager.getEntityManager().saveItem(item);
+            } else {
+                player.removeInventoryId(item.getItemId());
+                gameManager.getEntityManager().removeItem(item);
+            }
+        }
+    }
+
+    @Override
+    public Set<Effect> getEffects() {
+        return null;
+    }
+
+}
diff --git a/world/6May2015-7PM b/world/6May2015-7PM
old mode 100755
new mode 100644