diff --git a/js/cells/DMACell.js b/js/cells/DMACell.js
index c2d6351310b5f15f2220321689eff2b483fc6e5c..96ce95e91e7904a92cac03e404893f5520a30365 100644
--- a/js/cells/DMACell.js
+++ b/js/cells/DMACell.js
@@ -217,6 +217,7 @@ define(['underscore', 'three', 'threeModel', 'lattice', 'appState', 'globals'],
             console.warn("no material "+ this.material + " found for class "+ materialClass);
             return null;
         }
+        console.log(material.shading);
         return material;
     };
 
diff --git a/js/lattice/Lattice.js b/js/lattice/Lattice.js
index 8716b364339a0a032a9206ba4b325bca3d2c3bd2..b5cfd0f83aa67f88936030ede6752a877326d110 100644
--- a/js/lattice/Lattice.js
+++ b/js/lattice/Lattice.js
@@ -26,7 +26,7 @@ define(['underscore', 'backbone', 'appState', 'globals', 'plist', 'three', 'thre
             connectionType: "stacked",
             partType: null,
             materialType: null,
-            materialClass: "electronic",
+            materialClass: "mechanical",
             superCellRange: new THREE.Vector3(4,1,1)
         },
 
@@ -381,7 +381,6 @@ define(['underscore', 'backbone', 'appState', 'globals', 'plist', 'three', 'thre
             if (globals.materials[materialClass]) return;//already loaded
             require([materialClass + "Materials"], function(MaterialClass){
                 globals.materials[materialClass] = MaterialClass;
-
             });
         },
 
diff --git a/js/materials/DMAMaterials.js b/js/materials/DMAMaterials.js
index c58605a6f31a28c2478e6c070412b122930c5d79..bdb4f2bc9c0b735f90a33e11256933f834d17bf1 100644
--- a/js/materials/DMAMaterials.js
+++ b/js/materials/DMAMaterials.js
@@ -12,23 +12,24 @@ define(['underscore', 'three', 'appState'], function(_, THREE, appState){
     }
 
     DMAMaterials.prototype.changeMaterials = function(){
-        console.log("changeMaterials");
         var self = this;
-        _.each(_.keys(self.materialList), function(material){
-            if (appState.get("realisticColorScheme")) {
-                if (self.materials[material]) self.materials[material].color = new THREE.Color(self.materialList[material].color);
-                else self.materials[material] = new THREE.MeshLambertMaterial({color:self.materialList[material].color, shading:THREE.FlatShading});
-                if (self.materialList[material].opacity){
-                    self.materials[material].transparent = true;
-                    self.materials[material].opacity = self.materialList[material].opacity;
+        var state = appState.get("realisticColorScheme");
+        _.each(_.keys(self.materialList), function(materialName){
+            var materialData = self.materialList[materialName];
+            if (state) {
+                if (self.materials[materialName]) self.materials[materialName].color = new THREE.Color(materialData.color);
+                else self.materials[materialName] = new THREE.MeshLambertMaterial({color:materialData.color, shading:THREE.FlatShading});
+                if (materialData.opacity){
+                    self.materials[materialName].transparent = true;
+                    self.materials[materialName].opacity = materialData.opacity;
                 } else {
-                    self.materials[material].transparent = false;
+                    self.materials[materialName].transparent = false;
                 }
             }
             else {
-                if (self.materials[material]) self.materials[material].color = new THREE.Color(self.materialList[material].altColor);
-                else self.materials[material] = new THREE.MeshLambertMaterial({color:self.materialList[material].altColor, shading:THREE.FlatShading});
-                self.materials[material].transparent = false;
+                if (self.materials[materialName]) self.materials[materialName].color = new THREE.Color(materialData.altColor);
+                else self.materials[materialName] = new THREE.MeshLambertMaterial({color:materialData.altColor, shading:THREE.FlatShading});
+                self.materials[materialName].transparent = false;
             }
         });
     };
diff --git a/js/materials/ElectronicMaterials.js b/js/materials/ElectronicMaterials.js
index 9ff1f5de242da4a677ff6fb73c9ca236715b1d5c..f867833105d46c95627e495121d27ff0be66e73d 100644
--- a/js/materials/ElectronicMaterials.js
+++ b/js/materials/ElectronicMaterials.js
@@ -10,10 +10,5 @@ define(['underscore', 'three', 'appState', 'plist', 'materials'], function(_, TH
     }
     ElectronicMaterials.prototype = Object.create(DMAMaterials.prototype);
 
-    var material = new ElectronicMaterials();
-    
-    return {
-        changeMaterials: material.changeMaterials,
-        materials: material.materials
-    }
+    return new ElectronicMaterials();
 });
\ No newline at end of file
diff --git a/js/materials/MechanicalMaterials.js b/js/materials/MechanicalMaterials.js
index 4023695ee14eabef0a5d86c78fa952f2e5c97b90..5cf3560dc8d4377c0a0e303a83f5dc53f98ee36a 100644
--- a/js/materials/MechanicalMaterials.js
+++ b/js/materials/MechanicalMaterials.js
@@ -10,10 +10,5 @@ define(['underscore', 'three', 'appState', 'plist', 'materials'], function(_, TH
     }
     MechanicalMaterials.prototype = Object.create(DMAMaterials.prototype);
 
-    var material = new MechanicalMaterials();
-
-    return {
-        changeMaterials: material.changeMaterials,
-        materials: material.materials
-    }
+    return new MechanicalMaterials();
 });
\ No newline at end of file
diff --git a/js/models/AppState.js b/js/models/AppState.js
index 66ceae8bd52303eb0a2bf9e34b5e56c5dfa4642a..5684a6efb9108986cb1ac9aa67b1c3894721061d 100644
--- a/js/models/AppState.js
+++ b/js/models/AppState.js
@@ -113,7 +113,7 @@ define(['underscore', 'backbone', 'threeModel'], function(_, Backbone, three){
         _updateColorScheme: function(){
             require(['globals'], function(globals){
                 _.each(_.keys(globals.materials), function(materialClass){
-                    if (materialClass.changeMaterials) materialClass.changeMaterials();
+                    if (globals.materials[materialClass].changeMaterials) globals.materials[materialClass].changeMaterials();
                 });
                 three.render();
             });
diff --git a/js/models/Globals.js b/js/models/Globals.js
index 307943472a7ddc9e6abb5639db9831149043804d..bb1c06b586e0a4a857872601988ce98357e04654 100644
--- a/js/models/Globals.js
+++ b/js/models/Globals.js
@@ -13,6 +13,6 @@ define(['underscore', 'three'], function(_, THREE){
     return {
         baseplane: null,
         highlighter: null,
-        materials: materials,
+        materials: materials
     };
 });
\ No newline at end of file
diff --git a/js/models/PList.js b/js/models/PList.js
index 803e83f625346c6636cc13b66962efe333d387a9..7a25f4d6ff91bfeb7537b221e3f4ae185aeac80d 100644
--- a/js/models/PList.js
+++ b/js/models/PList.js
@@ -100,39 +100,39 @@ define(['three'], function(THREE){
             electronic:{
                 brass:{
                     name: "Brass",
-                        color: "#b5a642",
-                        altColor: "#857B64"
+                    color: "#b5a642",
+                    altColor: "#857B64"
                 },
                 fiberGlass: {
                     name: "Fiberglass",
-                        color: "#fef1b5",
+                    color: "#fef1b5",
 //                    opacity: "0.9",
-                        altColor: "#ecf0f1"
+                    altColor: "#ecf0f1"
                 },
                 carbon: {
                     name: "Carbon Composite",
-                        color: "#222",
-                        altColor: "#000"
+                    color: "#222",
+                    altColor: "#000"
                 },
                 nType: {
                     name: "Silicon N-Type",
-                        color: "#bcc6cc",
-                        altColor: "#8391AC"
+                    color: "#bcc6cc",
+                    altColor: "#8391AC"
                 },
                 nTypePlus: {
                     name: "Silicon Heavily Doped N-Type (N+)",
-                        color: "#c6ccbc",
-                        altColor: "#9CC9CB"
+                    color: "#c6ccbc",
+                    altColor: "#9CC9CB"
                 },
                 pType: {
                     name: "Silicon P-Type",
-                        color: "#ccbcc6",
-                        altColor: "#F5447B"
+                    color: "#ccbcc6",
+                    altColor: "#F5447B"
                 },
                 pTypePlus: {
                     name: "Silicon Heavily Doped P-Type (P+)",
-                        color: "#ccc2bc",
-                        altColor: "#F99987"
+                    color: "#ccc2bc",
+                    altColor: "#F99987"
                 }
                 //857B64
                 //FDE2D9
@@ -141,13 +141,13 @@ define(['three'], function(THREE){
             mechanical:{
                 rigid:{
                     name: "Rigid",
-                        color: "#8391AC",
-                        altColor: "#8391AC"
+                    color: "#aaa",
+                    altColor: "#8391AC"
                 },
                 flexure: {
                     name: "Flexure",
-                        color: "#666",
-                        altColor: "#666"
+                    color: "#aaa",
+                    altColor: "#666"
                 }
             }
         },