diff --git a/js/menus/LatticeMenuView.js b/js/menus/LatticeMenuView.js
index 690230ee3bba8c211fceae51b3eee1ced05129c3..1347e678c05d29c9fae8fa64ef4f85fa9bcc8eac 100644
--- a/js/menus/LatticeMenuView.js
+++ b/js/menus/LatticeMenuView.js
@@ -42,17 +42,46 @@ LatticeMenuView = Backbone.View.extend({
     _changeCellType: function(e){
         e.preventDefault();
         var cellType = $(e.target).data("type");
-        var currentCellType = this.model.get("cellType");
-        if (cellType != currentCellType){
-            if (currentCellType == "cube") this.model.set("connectionType", "face", {silent:true});
-        else if (currentCellType == "octa") this.model.set("connectionType", "face", {silent:true});
+
+        //reset everything to defaults silently
+        if (cellType != this.model.get("cellType")){
+            this._setLatticeToDefaultsSilently(cellType);
         }
         this.model.set("cellType", cellType);
     },
 
+    _setLatticeToDefaultsSilently: function(newCellType, newConnectionType){
+        if (newCellType == "cube") {
+            if (!newConnectionType){
+                newConnectionType = "face";
+                this.model.set("connectionType", newConnectionType, {silent:true});
+            }
+            this.model.set("connectionType", newConnectionType, {silent:true});
+            if (newConnectionType == "face"){
+                this.model.set("partType", null, {silent:true});
+            }
+        }
+        else if (newCellType == "octa") {
+            if (!newConnectionType){
+                newConnectionType = "face";
+                this.model.set("connectionType", newConnectionType, {silent:true});
+            }
+            if (newConnectionType == "face"){
+                this.model.set("partType", "triangle", {silent:true});
+            } else if (newConnectionType == "edge"){
+                this.model.set("partType", "triangle", {silent:true});
+            } else if (newConnectionType == "vertex"){
+                this.model.set("partType", "square", {silent:true});
+            }
+        }
+    },
+
     _changeConnectionType: function(e){
         e.preventDefault();
         var connectionType = $(e.target).data("type");
+        if (connectionType != this.model.get("connectionType")){
+            this._setLatticeToDefaultsSilently(this.model.get("cellType"), connectionType);
+        }
         this.model.set("connectionType", connectionType);
     },
 
diff --git a/js/menus/PartMenuView.js b/js/menus/PartMenuView.js
index 664db0856b83e8568e3b7b1c70fdd0f393c90a57..50f28204e57f18dfb69401a3a80fa600864b27ce 100644
--- a/js/menus/PartMenuView.js
+++ b/js/menus/PartMenuView.js
@@ -24,7 +24,15 @@ PartMenuView = Backbone.View.extend({
     },
 
     template: _.template('\
-        Part Type: &nbsp;&nbsp;<%= partType %><br/>\
+        Part Type: &nbsp;&nbsp;\
+        <div class="btn-group">\
+                <button data-toggle="dropdown" class="btn dropdown-toggle" type="button"><%= allPartTypes[cellType][connectionType][partType] %><span class="caret"></span></button>\
+                <ul role="menu" class="dropdown-menu">\
+                    <% _.each(_.keys(allPartTypes[cellType][connectionType]), function(key){ %>\
+                        <li><a class="partType" data-type="<%= key %>" href="#"><%= allPartTypes[cellType][connectionType][key] %></a></li>\
+                    <% }); %>\
+                </ul>\
+            </div><br/><br/>\
         Column Separation:<br/>\
         ')
 
diff --git a/js/models/Lattice.js b/js/models/Lattice.js
index 5bf88bd94fe2bd0243a44a933f25e928fcfb2ca6..1deb9964b74b72c8b602739f8ead2fd930972cbb 100644
--- a/js/models/Lattice.js
+++ b/js/models/Lattice.js
@@ -17,8 +17,8 @@ Lattice = Backbone.Model.extend({
         allPartTypes:{
             octa:{
                 face: {triangle:"Triangle"},
-                edge: {traingle:"Triangle"},
-                vertex:{square:"Square", x:"X"}
+                edge: {triangle:"Triangle"},
+                vertex:{square:"Square", xShape:"X"}
             },
             cube:{
                 face: null
@@ -229,6 +229,7 @@ Lattice = Backbone.Model.extend({
     },
 
     _changeLatticeStructure: function(){
+        console.log("amanda");
         this.clearCells();
         this.get("basePlane").updateGeometry(this.get("cellType"), this.get("connectionType"), this.get("scale"));
     },