diff --git a/js/materials/DMAMaterials.js b/js/materials/DMAMaterials.js
index 7e039900487167f0f035a5e400880c32dd88f59d..8c90f7fef8376c0c9af433f17eb3651247f242e2 100644
--- a/js/materials/DMAMaterials.js
+++ b/js/materials/DMAMaterials.js
@@ -14,10 +14,12 @@ define(['underscore', 'three', 'appState', 'lattice', 'plist', 'threeModel'], fu
             if (id && data === null) return deleteMaterial(id);
             if (!materials[id]) materials[id] = {};
             var oldColor = materials[id].color;
+
             _.each(_.keys(data), function(key){//todo trigger change on all instances
                 if (data[key] && data[key].x) materials[id][key] = new THREE.Vector3(data[key].x, data[key].y, data[key].z);
                 else materials[id][key] = data[key];
             });
+
             if (materials[id].threeMaterial || oldColor != materials[id].color) changeSingleMaterialColorScheme(id);
             return false;
         }
diff --git a/js/menus/MaterialMenuView.js b/js/menus/MaterialMenuView.js
index 89e3ff70a902fbd6c6253ad95e6779ce033e4464..b7e6f3648123b5806d44b15d52e1a3ab053efb64 100644
--- a/js/menus/MaterialMenuView.js
+++ b/js/menus/MaterialMenuView.js
@@ -5,13 +5,16 @@
 define(['jquery', 'underscore', 'menuParent', 'plist', 'lattice', 'globals', 'materials', 'text!materialMenuTemplate'],
     function($, _, MenuParentView, plist, lattice, globals, materials, template){
 
+    var materialID = 0;
+
     return MenuParentView.extend({
 
         events: {
             "click #navToCompositeMenu":                             "_navToCompositeMenu",
             "click #compositeFromLattice":                           "_latticeToComposite",
             "click .editComposite":                                  "_editComposite",
-            "click .editMaterial":                                   "_editMaterial"
+            "click .editMaterial":                                   "_editMaterial",
+            "click #newElementaryMaterial":                          "_newMaterial"
         },
 
         _initialize: function(){
@@ -36,6 +39,23 @@ define(['jquery', 'underscore', 'menuParent', 'plist', 'lattice', 'globals', 'ma
             e.stopPropagation();
             e.preventDefault();
             var id = $(e.target).data("id");
+            this._openMaterialEditor(id);
+        },
+
+        _newMaterial: function(e){
+            e.preventDefault();
+            //first create dummy material
+            var id = "material" + this.cid + materialID++;
+            materials.setMaterial(id, {
+                name: "",
+                color: '#000000',
+                altColor: '#000000',
+                noDelete: false
+            });
+            this._openMaterialEditor(id);
+        },
+
+        _openMaterialEditor: function(id){
             this.model.set("materialType", id);
             this.model.set("currentTab", "materialEditor", {silent:true});
             this.model.set("currentNav", "navMaterial");
diff --git a/js/menus/templates/MaterialMenuView.html b/js/menus/templates/MaterialMenuView.html
index 353fcd6a5873167052f012a3bb6ce28560031a20..2efcb1e634d26f9c4f32bb7dbf8bdb638200e524 100644
--- a/js/menus/templates/MaterialMenuView.html
+++ b/js/menus/templates/MaterialMenuView.html
@@ -16,8 +16,9 @@ Material Class:   
             <div style="background-color:<% if(realisticColorScheme){ %><%= allMaterials[materialClass][key].color %><% }else{ %><%= allMaterials[materialClass][key].altColor %><% } %>"></div>
             <span><span class="materialListTitle"><%= allMaterials[materialClass][key].name %></span><a data-id="<%= key %>" class="editMaterial">Edit...</a></span></div>
         </label>
-    <% }); %><br/>
-    <label class="checkbox" for="realisticColorScheme">
+    <% }); %>
+    <!--<a id="newElementaryMaterial" href="#" class="btn btn-block btn-lg btn-default">+ Create New Material Definition</a>-->
+    <br/><label class="checkbox" for="realisticColorScheme">
     <input id="realisticColorScheme" data-property="realisticColorScheme" type="checkbox" <% if (realisticColorScheme){ %> checked="checked"<% } %> value="" data-toggle="checkbox" class="appState custom-checkbox">
     <span class="icons"><span class="icon-unchecked"></span><span class="icon-checked"></span></span>
     Use realistic color scheme</label>
@@ -35,7 +36,7 @@ Composite Materials:<br/>
             <span><span class="materialListTitle"><%= materials[key].name %></span><a data-id="<%= key %>" class="editComposite">Edit...</a></span></div>
         </label>
     <% }); %><br/>
-    <% if (_.filter(_.keys(materials), function(name){return name.substr(0,5) == "super"; }).length > 0) { %>
+    <% if (materialType.substr(0,5) == "super") { %>
         Offset (xyz): &nbsp;&nbsp;<input data-property="superCellIndex" data-key="x" value="<%= superCellIndex.x %>" placeholder="X" class="form-control intInput appState" type="text">&nbsp;
             <input data-property="superCellIndex" data-key="y" value="<%= superCellIndex.y %>" placeholder="Y" class="form-control intInput appState" type="text">&nbsp;
             <input data-property="superCellIndex" data-key="z" value="<%= superCellIndex.z %>" placeholder="Z" class="form-control intInput appState" type="text"><br/><br/>