diff --git a/Spaceinator.project.gmx b/Spaceinator.project.gmx
index 4e16ce3..1ca6c04 100644
--- a/Spaceinator.project.gmx
+++ b/Spaceinator.project.gmx
@@ -63,6 +63,7 @@
       <object>objects\obj_gameover_overlay</object>
       <object>objects\obj_inventory</object>
       <object>objects\obj_crafting</object>
+      <object>objects\obj_crafting_final</object>
       <object>objects\obj_hotbar</object>
     </objects>
     <objects name="items">
diff --git a/objects/obj_crafting.object.gmx b/objects/obj_crafting.object.gmx
index 7e7bc14..4ee9948 100644
--- a/objects/obj_crafting.object.gmx
+++ b/objects/obj_crafting.object.gmx
@@ -30,6 +30,31 @@
 move_slot = false;
 selected_item = 0;
 selected_total = 0;
+
+crafting_final_object = instance_create(0,0,obj_crafting_final);
+</string>
+          </argument>
+        </arguments>
+      </action>
+    </event>
+    <event eventtype="1" enumb="0">
+      <action>
+        <libid>1</libid>
+        <id>603</id>
+        <kind>7</kind>
+        <userelative>0</userelative>
+        <isquestion>0</isquestion>
+        <useapplyto>-1</useapplyto>
+        <exetype>2</exetype>
+        <functionname></functionname>
+        <codestring></codestring>
+        <whoName>self</whoName>
+        <relative>0</relative>
+        <isnot>0</isnot>
+        <arguments>
+          <argument>
+            <kind>1</kind>
+            <string>instance_destroy(crafting_final_object);
 </string>
           </argument>
         </arguments>
@@ -52,8 +77,8 @@ selected_total = 0;
         <arguments>
           <argument>
             <kind>1</kind>
-            <string>x = view_xview[0]+view_wview[0]/2 - (424/2);
-y = view_yview[0]+view_hview[0]/2 - (254/2) - 200;
+            <string>x = view_xview[0]+view_wview[0]/2 - (424/2) + 90;
+y = view_yview[0]+view_hview[0]/2 - (254/2) - 150;
 
 
 var i = 0;
diff --git a/objects/obj_crafting_final.object.gmx b/objects/obj_crafting_final.object.gmx
new file mode 100644
index 0000000..6c09629
--- /dev/null
+++ b/objects/obj_crafting_final.object.gmx
@@ -0,0 +1,191 @@
+<!--This Document is generated by GameMaker, if you edit it by hand then you do so at your own risk!-->
+<object>
+  <spriteName>spr_final</spriteName>
+  <solid>0</solid>
+  <visible>-1</visible>
+  <depth>-4400</depth>
+  <persistent>0</persistent>
+  <parentName>&lt;undefined&gt;</parentName>
+  <maskName>&lt;undefined&gt;</maskName>
+  <events>
+    <event eventtype="0" enumb="0">
+      <action>
+        <libid>1</libid>
+        <id>603</id>
+        <kind>7</kind>
+        <userelative>0</userelative>
+        <isquestion>0</isquestion>
+        <useapplyto>-1</useapplyto>
+        <exetype>2</exetype>
+        <functionname></functionname>
+        <codestring></codestring>
+        <whoName>self</whoName>
+        <relative>0</relative>
+        <isnot>0</isnot>
+        <arguments>
+          <argument>
+            <kind>1</kind>
+            <string>selected_slot = 0;
+
+move_slot = false;
+selected_item = 0;
+selected_total = 0;
+</string>
+          </argument>
+        </arguments>
+      </action>
+    </event>
+    <event eventtype="3" enumb="0">
+      <action>
+        <libid>1</libid>
+        <id>603</id>
+        <kind>7</kind>
+        <userelative>0</userelative>
+        <isquestion>0</isquestion>
+        <useapplyto>-1</useapplyto>
+        <exetype>2</exetype>
+        <functionname></functionname>
+        <codestring></codestring>
+        <whoName>self</whoName>
+        <relative>0</relative>
+        <isnot>0</isnot>
+        <arguments>
+          <argument>
+            <kind>1</kind>
+            <string>x = view_xview[0]+view_wview[0]/2 - (424/2) + 240;
+y = view_yview[0]+view_hview[0]/2 - (254/2) - 115;
+
+
+var i = 0;
+if((mouse_x &gt;= x &amp;&amp; mouse_x &lt;= x+51) &amp;&amp; (mouse_y &gt;= y &amp;&amp; mouse_y &lt;= y+52))
+{
+    for(yy = 8; yy &lt; (5*44); yy+=45)
+    {
+        for(xx = 6; xx &lt; (9*45); xx+=45+1)
+        {
+            if((mouse_x &gt;= x+xx &amp;&amp; mouse_x &lt;= x+xx+45) &amp;&amp; (mouse_y &gt;= y+yy &amp;&amp; mouse_y &lt;= y+yy+45))
+            {
+                selected_slot = i;
+            }    
+            i++;
+        }    
+    }   
+    
+}
+</string>
+          </argument>
+        </arguments>
+      </action>
+    </event>
+    <event eventtype="6" enumb="4">
+      <action>
+        <libid>1</libid>
+        <id>603</id>
+        <kind>7</kind>
+        <userelative>0</userelative>
+        <isquestion>0</isquestion>
+        <useapplyto>-1</useapplyto>
+        <exetype>2</exetype>
+        <functionname></functionname>
+        <codestring></codestring>
+        <whoName>self</whoName>
+        <relative>0</relative>
+        <isnot>0</isnot>
+        <arguments>
+          <argument>
+            <kind>1</kind>
+            <string>if(!move_slot)
+{
+    selected_item = obj_inv_controller.inventory[selected_slot];
+    if(selected_item == 0)
+        return false;
+    selected_total = obj_inv_controller.inventoryCount[selected_slot];
+    obj_inv_controller.inventory[selected_slot] = 0;
+    obj_inv_controller.inventoryCount[selected_slot] = 0;
+    move_slot = true;
+}
+else
+{
+    if(obj_inv_controller.inventory[selected_slot] == 0)
+    {
+        
+        obj_inv_controller.inventory[selected_slot] = selected_item;
+        obj_inv_controller.inventoryCount[selected_slot] = selected_total;
+        
+        move_slot = false;
+        selected_item = 0;
+
+    }    
+}
+</string>
+          </argument>
+        </arguments>
+      </action>
+    </event>
+    <event eventtype="8" enumb="0">
+      <action>
+        <libid>1</libid>
+        <id>603</id>
+        <kind>7</kind>
+        <userelative>0</userelative>
+        <isquestion>0</isquestion>
+        <useapplyto>-1</useapplyto>
+        <exetype>2</exetype>
+        <functionname></functionname>
+        <codestring></codestring>
+        <whoName>self</whoName>
+        <relative>0</relative>
+        <isnot>0</isnot>
+        <arguments>
+          <argument>
+            <kind>1</kind>
+            <string>draw_self();
+var xx = 6;
+var yy = 8;
+var i = 0;
+for(yy = 8; yy &lt; (5*44); yy+=45)
+{
+    for(xx = 6; xx &lt; (9*45); xx+=45+1)
+    {
+        if(i == selected_slot)
+        {
+            draw_set_color(make_colour_rgb(100,100,100));
+            draw_rectangle(x+xx,y+yy,x+xx+45,y+yy+44,false)
+        }
+        
+        draw_sprite(spr_blocks,obj_inv_controller.inventory[i],x+xx+6,y+yy+7);
+        var count = obj_inv_controller.inventoryCount[i];
+        
+        var xoffset = string_width(string(count))
+        if(count &gt; 1)
+        {
+            draw_set_color(c_white);
+            draw_text(x+xx+45-xoffset,y+yy+30,string(count));
+        }
+        i++
+    }    
+}   
+
+if(selected_item != 0)
+{
+    draw_sprite(spr_blocks,selected_item,mouse_x-(TILE_SIZE/2),mouse_y-(TILE_SIZE/2));
+}
+</string>
+          </argument>
+        </arguments>
+      </action>
+    </event>
+  </events>
+  <PhysicsObject>0</PhysicsObject>
+  <PhysicsObjectSensor>0</PhysicsObjectSensor>
+  <PhysicsObjectShape>0</PhysicsObjectShape>
+  <PhysicsObjectDensity>0.5</PhysicsObjectDensity>
+  <PhysicsObjectRestitution>0.100000001490116</PhysicsObjectRestitution>
+  <PhysicsObjectGroup>0</PhysicsObjectGroup>
+  <PhysicsObjectLinearDamping>0.100000001490116</PhysicsObjectLinearDamping>
+  <PhysicsObjectAngularDamping>0.100000001490116</PhysicsObjectAngularDamping>
+  <PhysicsObjectFriction>0.200000002980232</PhysicsObjectFriction>
+  <PhysicsObjectAwake>-1</PhysicsObjectAwake>
+  <PhysicsObjectKinematic>0</PhysicsObjectKinematic>
+  <PhysicsShapePoints/>
+</object>