diff --git a/assets/imgs/cursor-light.png b/assets/imgs/cursor-light.png
new file mode 100644
index 0000000000000000000000000000000000000000..4a50f922f4bea8f581c8889334b6602fc062c636
Binary files /dev/null and b/assets/imgs/cursor-light.png differ
diff --git a/css/main.css b/css/main.css
index 8b7e75da9102b275a5e1e1b5ee9d394ae26723f5..f84278efa8d161106b0618e24aa209c7ccd6e128 100644
--- a/css/main.css
+++ b/css/main.css
@@ -250,7 +250,7 @@ input.numberInput{
 
 #navRibbon{
     height: 49px;
-    width: 300px;
+    width: 320px;
     z-index: 1;
     display: block;
     position: absolute;
diff --git a/js/cam/MachineOneBit.js b/js/cam/MachineOneBit.js
index 5b54aa4b3d21ea91993d551193cc1174584847a4..b8b6b33068a195e514e601f735c9a6e240965cf9 100644
--- a/js/cam/MachineOneBit.js
+++ b/js/cam/MachineOneBit.js
@@ -14,6 +14,10 @@ OneBitBot.prototype.setMachinePosition = function(){
     _.each(_.values(this.meshes), function(mesh){//todo add cell?
         mesh.position.set(self.position.x, self.position.y, self.position.z);
     });
+    var stockPosition = dmaGlobals.assembler.get("stockPosition");
+    this.cell.moveTo(stockPosition.x, "x");
+    this.cell.moveTo(stockPosition.y, "y");
+    this.cell.moveTo(stockPosition.z, "z");
     dmaGlobals.three.render();
 };
 
diff --git a/js/menus/Ribbon.js b/js/menus/Ribbon.js
index e0979ccda207faa4038d3afc230329014e1063a8..4c269fa9420baaff192434b3b53d7280e727b8c3 100644
--- a/js/menus/Ribbon.js
+++ b/js/menus/Ribbon.js
@@ -9,7 +9,8 @@ Ribbon = Backbone.View.extend({
 
     events: {
         "click .cellModeBtn":                                    "_updateCellMode",
-        "click .deleteMode":                                     "_updateDeleteMode"
+        "click .deleteMode":                                     "_updateDeleteMode",
+        "click .highlightMode":                                  "_updateHighlightMode"
     },
 
     initialize: function(){
@@ -18,6 +19,7 @@ Ribbon = Backbone.View.extend({
 
         this.listenTo(this.model, "change:cellMode", this.render);
         this.listenTo(this.model, "change:deleteMode", this.render);
+        this.listenTo(this.model, "change:highlightMode", this.render);
         this.listenTo(dmaGlobals.lattice, "change:cellType change:connectionType", this.render);
         this.render();
     },
@@ -32,6 +34,11 @@ Ribbon = Backbone.View.extend({
         dmaGlobals.appState.set("deleteMode", !dmaGlobals.appState.get("deleteMode"));
     },
 
+    _updateHighlightMode: function(e){
+        e.preventDefault();
+        dmaGlobals.appState.set("highlightMode", !dmaGlobals.appState.get("highlightMode"));
+    },
+
     render: function(){
         this.$el.html(this.template(_.extend(dmaGlobals.lattice.toJSON(), this.model.toJSON())));
     },
@@ -43,6 +50,7 @@ Ribbon = Backbone.View.extend({
               <% if (allPartTypes[cellType][connectionType]){ %>\
               <a data-type="part" class="btn btn-primary btn-ribbon cellModeBtn<% if (cellMode == "part"){ %> ribbon-selected<% } %>" href="#"><img data-type="part" src="assets/imgs/part-sm.png"></a>\
               <% } %>\
+              <a class="btn btn-primary btn-ribbon highlightMode<% if (highlightMode){ %> ribbon-selected<% } %>" href="#"><img data-type="part" src="assets/imgs/cursor-light.png"></a>\
               <a class="btn btn-primary btn-ribbon deleteMode<% if (deleteMode){ %> ribbon-selected"<% } %>"><span class="fui-cross"></span></a>\
             </div>\
         </div>\
diff --git a/js/models/AppState.js b/js/models/AppState.js
index 85572aff6f057faee1f9aea2b66abe84762f74a1..e1b81f50b3ac9d5ba6b7f4575cd08302dd217282 100644
--- a/js/models/AppState.js
+++ b/js/models/AppState.js
@@ -135,6 +135,7 @@ AppState = Backbone.Model.extend({
         //key bindings
         shift: false,
         deleteMode: false,
+        highlightMode: true,
         extrudeMode: false,
         cellMode: "cell",//show cells vs part
 
diff --git a/js/threeViews/ThreeView.js b/js/threeViews/ThreeView.js
index 03a7b2e9d12dd27351bbf67c19c2be05263b19f6..82f58e1e17e93a1f00ae1d96b4e970ecb8bfd5ef 100644
--- a/js/threeViews/ThreeView.js
+++ b/js/threeViews/ThreeView.js
@@ -86,6 +86,8 @@ ThreeView = Backbone.View.extend({
 
     _mouseMoved: function(e){
 
+        if (!dmaGlobals.appState.get("highlightMode")) return;
+
         if (this.mouseIsDown && !this.controls.noRotate) {//in the middle of a camera move
             this.highlighter.setNothingHighlighted();
             this._setNoPartIntersections();