diff --git a/js/cam/assemblers/Assembler.js b/js/cam/assemblers/Assembler.js
index 55f12654839db88ad54c9ea96e1de9f366a428aa..98d6c523764de18876a1e1b33c1da58cd3bd33f0 100644
--- a/js/cam/assemblers/Assembler.js
+++ b/js/cam/assemblers/Assembler.js
@@ -60,7 +60,6 @@ define(['underscore', 'appState', 'lattice', 'stlLoader', 'threeModel', 'cam', '
         function geometryPreProcess(geometry){//todo do this better
             if(geometry === undefined || (geometry.vertices && geometry.vertices.length == 0)) return null;
 
-            console.log(json.translation);
             if (json.translation) geometry.applyMatrix(new THREE.Matrix4().makeTranslation(json.translation.x, json.translation.y, json.translation.z));
             if (json.rotation) {
                 if (json.rotation.x) geometry.applyMatrix(new THREE.Matrix4().makeRotationX(json.rotation.x));
diff --git a/js/menus/Navbar.js b/js/menus/Navbar.js
index 055f7eb3820e6ea0f9edcd837417a027e0f5ba1c..6cf36d0776338faa288957bcb4f13b5d5c6fc1ac 100644
--- a/js/menus/Navbar.js
+++ b/js/menus/Navbar.js
@@ -3,7 +3,8 @@
  */
 
 
-define(['jquery', 'underscore', 'backbone', 'fileSaver', 'navViewMenu', 'appState'], function($, _, Backbone, fileSaver, NavViewMenu, appState){
+define(['jquery', 'underscore', 'backbone', 'fileSaver', 'navViewMenu', 'appState', 'plist'],
+    function($, _, Backbone, fileSaver, NavViewMenu, appState, plist){
 
     return Backbone.View.extend({
 
@@ -65,9 +66,7 @@ define(['jquery', 'underscore', 'backbone', 'fileSaver', 'navViewMenu', 'appStat
         _updateNavSelectionUI: function(){
             this._deselectAllNavItems();
             var navSelection = this.model.get("currentNav");
-            if (navSelection == "electronicNavSim" || navSelection == "mechanicalNavSim") navSelection = "navSim";
-            if (navSelection == "navComposite" || navSelection == "navMaterial") navSelection = "navDesign";
-            if (navSelection == "navMachineComponent") navSelection = "navAssemble";
+            if (plist.allMenus[navSelection].parent) navSelection = plist.allMenus[navSelection].parent;
             _.each($(".menuHoverControls"), function(link){
                 var $link = $(link);
                 if ($link.data("menuId") == navSelection) $link.parent().addClass("open");//highlight
diff --git a/js/menus/templates/MenuWrapperView.html b/js/menus/templates/MenuWrapperView.html
index 4fba9c91ee6622f40e4929876bcc827f90ae7686..a95e01baab382276977edd6015f61531a62de18c 100644
--- a/js/menus/templates/MenuWrapperView.html
+++ b/js/menus/templates/MenuWrapperView.html
@@ -1,6 +1,6 @@
 <ul class="nav nav-tabs nav-justified">
-<% _.each(_.keys(allMenuTabs[currentNav]), function(key){
+<% _.each(allMenus[currentNav].tabs, function(tabName, key){
     if (key == "part" && !(allPartTypes[cellType][connectionType])) return;  %>
-    <li role="presentation" class="menuWrapperTab" data-name="<%= key %>"><a href="#"><%= allMenuTabs[currentNav][key] %></a></li>
+    <li role="presentation" class="menuWrapperTab" data-name="<%= key %>"><a href="#"><%= tabName %></a></li>
 <% }); %>
 </ul>
\ No newline at end of file
diff --git a/js/models/AppState.js b/js/models/AppState.js
index fc26021bd1e2184c55bf398823f67566d7ba6283..d5cbe716757a7b1acb44d55c8b678de16c90cc0a 100644
--- a/js/models/AppState.js
+++ b/js/models/AppState.js
@@ -104,7 +104,7 @@ define(['underscore', 'backbone', 'threeModel', 'three', 'plist', 'globals'], fu
         _navChanged: function(){
             //update to last tab open in that section
             var navSelection = this.get("currentNav");
-            var nextTab = this.get("lastNavTab")[navSelection] || _.keys(plist.allMenuTabs[navSelection])[0];
+            var nextTab = this.get("lastNavTab")[navSelection] || _.keys(plist.allMenus[navSelection].tabs)[0];
             this.set("currentTab", nextTab, {silent:true});
 
             if (navSelection == "navDesign") {
diff --git a/js/plists/PList.js b/js/plists/PList.js
index b15c3f75c4f10833524644200c31fde63de2a96b..58d70c30d1c204123f418a18e10d5bc54895c851 100644
--- a/js/plists/PList.js
+++ b/js/plists/PList.js
@@ -5,50 +5,86 @@ define(['three'], function(THREE){
 
     return {
 
-        allMenuTabs: {
+        allMenus: {
             navDesign:{
-                lattice:"Lattice",
-                //sketch:"Sketch",
-                material:"Materials",
-                import:"Import",
-                part:"Part"
-//                script:"Script"
+                name: "Design",
+                tabs:{
+                    lattice:"Lattice",
+                    //sketch:"Sketch",
+                    material:"Materials",
+                    import:"Import",
+                    part:"Part"
+                    //script:"Script"
+                }
+            },
+            navMaterial:{
+                name: "Materials",
+                parent: "navDesign",
+                tabs:{
+                    materialEditor: "Material Editor"
+                }
+            },
+            navComposite:{
+                name: "Composite",
+                parent: "navDesign",
+                tabs:{
+                    composite:"Composite Editor"
+                }
+            },
+            navSim:{
+                name: "Simulate",
+                tabs:{
+                }
             },
             electronicNavSim:{
-                eSetup:"Connectivity",
-//                materialProperties: "Materials",
-                eStatic:"Statics",
-                eDynamic:"Dynamics"
+                name: "Electronic Simulation",
+                parent: "navSim",
+                tabs:{
+                    eSetup:"Connectivity",
+    //                materialProperties: "Materials",
+                    eStatic:"Statics",
+                    eDynamic:"Dynamics"
+                }
             },
             mechanicalNavSim:{
-                mSetup:"Setup",
-//                materialProperties: "Materials",
-                mStatic:"Statics",
-                mDynamic:"Dynamics"
+                name: "Mechanical Simulation",
+                parent: "navSim",
+                tabs:{
+                    mSetup:"Setup",
+    //                materialProperties: "Materials",
+                    mStatic:"Statics",
+                    mDynamic:"Dynamics"
+                }
             },
             navOptimize:{
-                optimize:"Optimize"
+                name: "Optimize",
+                tabs:{
+                    optimize:"Optimize"
+                }
             },
             navAssemble:{
-                assembler:"Assembler",
-                assemblerSetup: "Setup",
-                cam: "Process",
-//                editCamOutput: "Edit",
-                animate:"Preview"
+                name: "Assemble",
+                tabs:{
+                    assembler:"Assembler",
+                    assemblerSetup: "Setup",
+                    cam: "Process",
+    //                editCamOutput: "Edit",
+                    animate:"Preview"
+                },
             },
             navMachineComponent:{
-                editComponent: "Edit Component"
+                name: "Component Editor",
+                parent: "navAssemble",
+                tabs:{
+                    editComponent: "Edit Component"
+                }
             },
             navComm:{
-                setupComm: "Setup",
-                send: "Send"
-            },
-            //maybe do something different here?
-            navComposite:{
-                composite:"Composite Editor"
-            },
-            navMaterial:{
-                materialEditor: "Material Editor"
+                name: "Comm",
+                tabs:{
+                    setupComm: "Setup",
+                    send: "Send"
+                }
             }
         },