diff --git a/js/cam/Assembler.js b/js/cam/Assembler.js
index 17608f362de35f22cf80ef52b7a357d2c4e9d829..3cbdbc2b456566e57e2db8f9577abc7a5bf5ccc6 100644
--- a/js/cam/Assembler.js
+++ b/js/cam/Assembler.js
@@ -8,7 +8,7 @@ Assembler = Backbone.Model.extend({
         camStrategy: "raster",
         placementOrder: "XYZ",//used for raster strategy entry
         camProcess: "gcode",
-        machineName: "shopbot",
+        machineName: "handOfGod",
         machine: null,
         exporter: null,
 
@@ -40,7 +40,7 @@ Assembler = Backbone.Model.extend({
 
     initialize: function(options){
 
-        this.set("machine", new Shopbot());
+        this.selectMachine();
 
         _.bindAll(this, "postProcess");
 
@@ -82,6 +82,17 @@ Assembler = Backbone.Model.extend({
         this._initOriginAndStock(options.lattice);
     },
 
+    selectMachine: function(machineName){
+        if (!machineName) machineName = this.get("machineName");
+        if (this.get("machine")) this.get("machine").destroy();
+        if (machineName == "shopbot"){
+            this.set("machine", new Shopbot());
+        } else if (machineName == "handOfGod"){
+            this.set("machine", new Shopbot());
+        } else console.warn("selected machine not recognized");
+        this.set("machineName", machineName);
+    },
+
     makeProgramEdits: function(data){
         this.set("dataOut", data, {silent:true});
         this.set("editsMadeToProgram", true, {silent: true});
diff --git a/js/menus/AssemblerMenuView.js b/js/menus/AssemblerMenuView.js
index bdde47f79c5fe3d0f5d2accb6f8c80f29d0e01b0..12032f259871a98b4c155c3157aaeab624f0dd26 100644
--- a/js/menus/AssemblerMenuView.js
+++ b/js/menus/AssemblerMenuView.js
@@ -48,22 +48,22 @@ AssemblerMenuView = Backbone.View.extend({
 
     _selectMachine: function(e){
         e.preventDefault();
-        this.assembler.set("machineName", $(e.target).data("type"));
+        this.assembler.selectMachine($(e.target).data("type"));
     },
 
     render: function(){
         if (this.model.get("currentTab") != "assembler") return;
         if ($("input").is(":focus")) return;
-        this.$el.html(this.template(_.extend(this.model.toJSON(), this.assembler.toJSON())));
+        this.$el.html(this.template(_.extend(this.model.toJSON(), this.assembler.toJSON(), dmaGlobals.lattice.toJSON())));
     },
 
     template: _.template('\
         Machine:   \
             <div class="btn-group">\
-                <button data-toggle="dropdown" class="btn dropdown-toggle" type="button"><%= allMachineTypes[machineName] %><span class="caret"></span></button>\
+                <button data-toggle="dropdown" class="btn dropdown-toggle" type="button"><%= allMachineTypes[cellType][connectionType][machineName] %><span class="caret"></span></button>\
                 <ul role="menu" class="dropdown-menu">\
-                    <% _.each(_.keys(allMachineTypes), function(key){ %>\
-                        <li><a class="machineType" data-type="<%= key %>" href="#"><%= allMachineTypes[key] %></a></li>\
+                    <% _.each(_.keys(allMachineTypes[cellType][connectionType]), function(key){ %>\
+                        <li><a class="machineType" data-type="<%= key %>" href="#"><%= allMachineTypes[cellType][connectionType][key] %></a></li>\
                     <% }); %>\
                 </ul>\
             </div><br/><br/>\
diff --git a/js/models/AppState.js b/js/models/AppState.js
index 034a927cbd2c8f9ebd57cba551bc6d98eafe9ba7..33bd0b2aa44f140b47952bda122dd4d68725fe2c 100644
--- a/js/models/AppState.js
+++ b/js/models/AppState.js
@@ -93,9 +93,34 @@ AppState = Backbone.Model.extend({
         },
 
         allMachineTypes:{
-            handOfGod: "Hand of God",
-            shopbot: "Shopbot",
-            oneBit: "One Bit Bot",
+            octa:{
+                face: {
+                    handOfGod: "Hand of God"
+                },
+                freeformFace: {
+                    handOfGod: "Hand of God"
+                },
+                edgeRot: {
+                    shopbot: "Shopbot",
+                    oneBit: "One Bit Bot",
+                    handOfGod: "Hand of God"
+                },
+                vertex: {
+                    handOfGod: "Hand of God"
+                }
+            },
+            tetra: {
+                handOfGod: "Hand of God"
+            },
+            cube:{
+                handOfGod: "Hand of God"
+            },
+            truncatedCube:{
+                handOfGod: "Hand of God"
+            },
+            kelvin:{
+                handOfGod: "Hand of God"
+            },
             will: "Electronics Assembler"
         },
         allAssemblyStrategies: {