diff --git a/js/cam/assemblers/StockComponent.js b/js/cam/assemblers/StockComponent.js
index ff315a36ee185ecd9c12e0c4128be2e579e6b1c2..3819a7309e4e4829b50cf7a0ad9d13da30ae5550 100644
--- a/js/cam/assemblers/StockComponent.js
+++ b/js/cam/assemblers/StockComponent.js
@@ -15,7 +15,6 @@ define(['underscore', 'cam', 'three', 'component', 'lattice'], function(_, cam,
             self.cell = cell;
             self._setPosition(cell, json.position, json.rotation);
             self.object3D.add(cell.getObject3D());
-            cell.show();
         });
     }
     StockComponent.prototype = Object.create(Component.prototype);
diff --git a/js/cam/processes/GCodeExporter.js b/js/cam/processes/GCodeExporter.js
index 75dc048e85b483c40346e24985dc84803ecc815b..8e87a816db4694f42c6e82848d3e4de93c621cb2 100644
--- a/js/cam/processes/GCodeExporter.js
+++ b/js/cam/processes/GCodeExporter.js
@@ -87,6 +87,7 @@ define(['underscore', 'cam', 'lattice'], function(_, cam, lattice){
 
     GCodeExporter.prototype.makeFooter = function(settings){
         var data = "";
+        data += this.goHome(settings);
     //    data += this.addLine("M30", [], "program stop");
         return data;
     };
diff --git a/js/plists/CamPList.js b/js/plists/CamPList.js
index 68ec428e30a5fb58ffb1a7f01eb7bf8ef06c1649..28107c8dfadd0cb4cbf96e1da2b0280e613ce3be 100644
--- a/js/plists/CamPList.js
+++ b/js/plists/CamPList.js
@@ -40,7 +40,7 @@ define(['three'], function(THREE){
                 components: {
                     xAxis: {
                         name: "X Axis",
-                        isLinear: true,
+                        rotary: false,
                         axisOfMotion: null,
                         //minBound
                         //maxBound
@@ -55,7 +55,7 @@ define(['three'], function(THREE){
                     },
                     frame: {
                         name: "Y Axis",
-                        isLinear: true,
+                        rotary: false,
                         axisOfMotion: null,
                         //minBound
                         //maxBound
@@ -70,7 +70,7 @@ define(['three'], function(THREE){
                     },
                     zAxis: {
                         name: "Z Axis",
-                        isLinear: true,
+                        rotary: false,
                         axisOfMotion: null,
                         //minBound
                         //maxBound
@@ -85,7 +85,7 @@ define(['three'], function(THREE){
                     },
                     yAxis: {
                         name: "Frame",
-                        isLinear: true,
+                        rotary: false,
                         axisOfMotion: null,
                         //minBound
                         //maxBound
@@ -100,8 +100,9 @@ define(['three'], function(THREE){
                     },
                     substrate: {
                         name: "Substrate",
-                        isLinear: false,
+                        rotary: true,
                         axisOfMotion: null,
+                        centerOfRotation: {x:10,y:10,z:0},
                         //minBound
                         //maxBound
                         parent: null,