diff --git a/js/main.js b/js/main.js
index 64760189de7c1ea53c170b157fa75551f29168c8..2e3812e3338c3003bf6a840d837373f8b2cf00b3 100644
--- a/js/main.js
+++ b/js/main.js
@@ -68,6 +68,7 @@ require.config({
         //materials
         materials: 'materials/DMAMaterials',
         electronicMaterials: 'materials/ElectronicMaterials',
+        mechanicalMaterials: 'materials/MechanicalMaterials',
 
         //UI
         navbar: 'menus/Navbar',
diff --git a/js/materials/ElectronicMaterials.js b/js/materials/ElectronicMaterials.js
index fce8178b496c924e329575af94cbed2945fd767a..9ff1f5de242da4a677ff6fb73c9ca236715b1d5c 100644
--- a/js/materials/ElectronicMaterials.js
+++ b/js/materials/ElectronicMaterials.js
@@ -6,7 +6,7 @@
 define(['underscore', 'three', 'appState', 'plist', 'materials'], function(_, THREE, appState, plist, DMAMaterials){
     
     function ElectronicMaterials(){
-       DMAMaterials.call(this, plist.allMaterialTypes.cube.gik);
+       DMAMaterials.call(this, plist.allMaterials.electronic);
     }
     ElectronicMaterials.prototype = Object.create(DMAMaterials.prototype);
 
diff --git a/js/materials/MechanicalMaterials.js b/js/materials/MechanicalMaterials.js
new file mode 100644
index 0000000000000000000000000000000000000000..4023695ee14eabef0a5d86c78fa952f2e5c97b90
--- /dev/null
+++ b/js/materials/MechanicalMaterials.js
@@ -0,0 +1,19 @@
+/**
+ * Created by aghassaei on 6/4/15.
+ */
+
+
+define(['underscore', 'three', 'appState', 'plist', 'materials'], function(_, THREE, appState, plist, DMAMaterials){
+
+    function MechanicalMaterials(){
+       DMAMaterials.call(this, plist.allMaterials.mechanical);
+    }
+    MechanicalMaterials.prototype = Object.create(DMAMaterials.prototype);
+
+    var material = new MechanicalMaterials();
+
+    return {
+        changeMaterials: material.changeMaterials,
+        materials: material.materials
+    }
+});
\ No newline at end of file
diff --git a/js/menus/PartMenuView.js b/js/menus/PartMenuView.js
index 9852a6578e0c7234df495e347c6bdf8b6b9692ba..83a674e011c765411c1d4ad2fe470032c1fc0745 100644
--- a/js/menus/PartMenuView.js
+++ b/js/menus/PartMenuView.js
@@ -34,12 +34,12 @@ define(['jquery', 'underscore', 'menuParent', 'plist', 'lattice'], function($, _
             <br/><br/>--><br/>\
             <% if (allMaterialTypes[cellType][connectionType]){ %> \
             Materials:<br/>\
-            <% _.each(_.keys(allMaterialTypes[cellType][connectionType]), function(key){ %>\
+            <% _.each(_.keys(allMaterials[allMaterialTypes[cellType][connectionType]]), function(key){ %>\
             <label class="radio colorSwatches">\
                 <input type="radio" <%if (key == materialType){ %>checked<%}%> name="materialType" value="<%= key %>" data-toggle="radio" class="custom-radio lattice"><span class="icons"><span class="icon-unchecked"></span><span class="icon-checked"></span></span>\
                 <div class="materialColorSwatch">\
-                <div style="background-color:<% if(realisticColorScheme){ %><%= allMaterialTypes[cellType][connectionType][key].color %><% }else{ %><%= allMaterialTypes[cellType][connectionType][key].altColor %><% } %>"></div>\
-                <span><%= allMaterialTypes[cellType][connectionType][key].name %></span></div>\
+                <div style="background-color:<% if(realisticColorScheme){ %><%= allMaterials[allMaterialTypes[cellType][connectionType]][key].color %><% }else{ %><%= allMaterials[allMaterialTypes[cellType][connectionType]][key].altColor %><% } %>"></div>\
+                <span><%= allMaterials[allMaterialTypes[cellType][connectionType]][key].name %></span></div>\
             </label>\
             <% }); %>\
             <br/>\
diff --git a/js/models/PList.js b/js/models/PList.js
index 071f2fee911600a67ce58227e4e357aae62ace7c..2b02bf9be25f96ff9b892e83ede656c5b34e961e 100644
--- a/js/models/PList.js
+++ b/js/models/PList.js
@@ -29,10 +29,10 @@ define(['three'], function(THREE){
 
         allCellTypes: {
             octa:"Octahedron",
-                tetra: "Tetrahedron (Coming Soon)",
-                cube:"Cube",
-                truncatedCube:"Cuboctahedron",
-                kelvin:"Kelvin"
+            tetra: "Tetrahedron (Coming Soon)",
+            cube:"Cube",
+            truncatedCube:"Cuboctahedron",
+            kelvin:"Kelvin"
         },
         allConnectionTypes: {
             octa: {face:"Face", edgeRot:"Edge", vertex:"Vertex"},//edge:"Edge", freeformFace:"Freeform Face"
@@ -74,14 +74,22 @@ define(['three'], function(THREE){
 
         allMaterialTypes:{
             octa:{
-                face: null,
-                    edge: null,
-                    edgeRot: null,
-                    vertex: null
+                face: 'mechanical',
+                edge: 'mechanical',
+                edgeRot: 'mechanical',
+                vertex: 'mechanical'
             },
-            tetra: {vertex: null},
-            cube: {face: null,
-                gik: {
+            tetra: {vertex: 'mechanical'},
+            cube: {
+                face: 'mechanical',
+                gik: 'electronic'
+            },
+            truncatedCube: {face: 'mechanical'},
+            kelvin: {face: 'mechanical'}
+        },
+
+        allMaterials:{
+            electronic:{
                 brass:{
                     name: "Brass",
                         color: "#b5a642",
@@ -121,10 +129,19 @@ define(['three'], function(THREE){
                 //857B64
                 //FDE2D9
                 //D77948
-            }
             },
-            truncatedCube: {face: null},
-            kelvin: {face: null}
+            mechanical:{
+                rigid:{
+                    name: "Rigid",
+                        color: "#b5a642",
+                        altColor: "#857B64"
+                },
+                flexure: {
+                    name: "Flexure",
+                        color: "#fef1b5",
+                        altColor: "#ecf0f1"
+                }
+            }
         },
 
         allMachineTypes:{