diff --git a/assets/stls/parts/troxOcta.stl b/assets/stls/parts/troxOcta.stl
new file mode 100644
index 0000000000000000000000000000000000000000..b113b73de405df5e33499edd9ad871dc3429ab96
Binary files /dev/null and b/assets/stls/parts/troxOcta.stl differ
diff --git a/assets/stls/parts/troxTetra.stl b/assets/stls/parts/troxTetra.stl
new file mode 100644
index 0000000000000000000000000000000000000000..cf90fabbb97fa7942fa35e424b421996a002de25
Binary files /dev/null and b/assets/stls/parts/troxTetra.stl differ
diff --git a/index.html b/index.html
index 60898e3da40ad7b12add988e83e78927efadbbd9..ca27133db841204bcb7e538a32dfc5be12342d44 100644
--- a/index.html
+++ b/index.html
@@ -36,11 +36,6 @@
     <!--numerical javascript-->
     <script src="dependencies/numeric-1.2.6.js"></script>
 
-    <!--global variables-->
-    <script>
-
-    </script>
-
     <!--multi-threading-->
     <script src="js/worker.js"></script>
     <script src="js/persistentWorkers.js"></script><!--global workers-->
@@ -53,6 +48,7 @@
     <script src="js/fea/DmaCellTetra.js"></script>
     <script src="js/fea/DmaCellOther.js"></script>
     <script src="js/fea/DmaPart.js"></script>
+    <script src="js/fea/DMAPartTrox.js"></script>
 
     <!--models-->
     <script src="js/models/ThreeModel.js"></script>
diff --git a/js/fea/DMAPartTrox.js b/js/fea/DMAPartTrox.js
new file mode 100644
index 0000000000000000000000000000000000000000..9c0ecd2fb86f97f085595cdbe1dcef68ca3cb055
--- /dev/null
+++ b/js/fea/DMAPartTrox.js
@@ -0,0 +1,62 @@
+/**
+ * Created by aghassaei on 4/9/15.
+ */
+
+
+(function () {
+
+    var tetraTrox;
+
+    //import part geometry
+    var loader = new THREE.STLLoader();
+    loader.load("assets/stls/parts/troxTetra.stl", function(geometry){
+
+        tetraTrox = geometry;
+        tetraTrox.computeBoundingBox();
+        var unitScale = 1/3.25;
+        tetraTrox.applyMatrix(new THREE.Matrix4().makeScale(unitScale, unitScale, unitScale));
+//        tetraTrox.applyMatrix(new THREE.Matrix4().makeTranslation(0.25,-0.6, -0.45));
+//        tetraTrox.applyMatrix(new THREE.Matrix4().makeRotationZ(-Math.PI/6));
+    });
+
+    function DMATetraTroxPart(type, parent){
+        DMAPart.call(this, type, parent);
+    }
+    DMATetraTroxPart.prototype = Object.create(DMAPart.prototype);
+
+    DMATetraTroxPart.prototype._makeMeshForType = function(){
+        console.log("mesh");
+        var mesh = new THREE.Mesh(tetraTrox, partMaterial);
+        mesh.myPart = this;//need a ref back to this part
+        return mesh;
+    };
+
+    self.DMATetraTroxPart = DMATetraTroxPart;
+
+    var octaTrox;
+
+    //import part geometry
+    loader.load("assets/stls/parts/troxOcta.stl", function(geometry){
+
+        octaTrox = geometry;
+        octaTrox.computeBoundingBox();
+        var unitScale = 1/3.25;
+        octaTrox.applyMatrix(new THREE.Matrix4().makeScale(unitScale, unitScale, unitScale));
+//        octaTrox.applyMatrix(new THREE.Matrix4().makeTranslation(0.25,-0.6, -0.45));
+//        octaTrox.applyMatrix(new THREE.Matrix4().makeRotationZ(-Math.PI/6));
+    });
+
+    function DMAOctaTroxPart(type, parent){
+        DMAPart.call(this, type, parent);
+    }
+    DMAOctaTroxPart.prototype = Object.create(DMAPart.prototype);
+
+    DMAOctaTroxPart.prototype._makeMeshForType = function(){
+        var mesh = new THREE.Mesh(octaTrox, partMaterial);
+        mesh.myPart = this;//need a ref back to this part
+        return mesh;
+    };
+
+    self.DMAOctaTroxPart = DMAOctaTroxPart;
+
+})();
diff --git a/js/fea/DmaCellOcta.js b/js/fea/DmaCellOcta.js
index 8bbea3816122bd63b9e4f4b055d2e890c38740a1..0c269cf7868279f0f01b96b53ba71eb3028f3cce 100644
--- a/js/fea/DmaCellOcta.js
+++ b/js/fea/DmaCellOcta.js
@@ -91,9 +91,7 @@ DMAFreeFormOctaCell.prototype._doMeshTransformations = function(mesh){
 
 DMAFreeFormOctaCell.prototype._initParts = function(){
     var parts  = [];
-    for (var i=0;i<3;i++){
-        parts.push(new DMATrianglePart(i, this));
-    }
+    parts.push(new DMAOctaTroxPart(1, this));
     return parts;
 };
 
diff --git a/js/fea/DmaCellTetra.js b/js/fea/DmaCellTetra.js
index e7b4a36eee6e44c703ab675925091f15171c9c9c..3faa86fae78096f8fe9d6da44cd948447bc11557 100644
--- a/js/fea/DmaCellTetra.js
+++ b/js/fea/DmaCellTetra.js
@@ -3,7 +3,7 @@
  */
 
 ///////////////////////////////////////////////////////////////////////////////////////////////
-////////////////////////FACE CONNECTED OCTA////////////////////////////////////////////////////
+////////////////////////FACE CONNECTED TETRA///////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////////////////////////////////////////
 
 var unitCellGeo = new THREE.TetrahedronGeometry(Math.sqrt(3/8));
@@ -37,7 +37,7 @@ DMATetraFaceCell.prototype._getGeometry = function(){
 
 
 ///////////////////////////////////////////////////////////////////////////////////////////////
-////////////////////////EDGE CONNECTED OCTA////////////////////////////////////////////////////
+////////////////////////EDGE CONNECTED TETRA///////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////////////////////////////////////////
 
 function DMATetraEdgeCell(indices, scale, cellMode, partType){
@@ -83,6 +83,12 @@ DMAFreeFormTetraCell.prototype.getType = function(){
     return "tetra";
 };
 
+DMAFreeFormTetraCell.prototype._initParts = function(){
+    var parts  = [];
+    parts.push(new DMATetraTroxPart(1, this));
+    return parts;
+};
+
 DMAFreeFormTetraCell.prototype.xScale = function(scale){
     if (!scale) scale = this.getScale();
     return scale;
diff --git a/js/models/AppState.js b/js/models/AppState.js
index 4e51b2d070e403e99022b2453c1469a7e5fa3079..9922c1b2ea4857fd15d083fb3d19aeacee40acb0 100644
--- a/js/models/AppState.js
+++ b/js/models/AppState.js
@@ -64,7 +64,7 @@ AppState = Backbone.Model.extend({
                     //truss:"Truss"
                 },
                 freeformFace: {
-                    triangle:"Triangle"
+                    trox:"Troxes"
                     //beam:"Beam"
                 },
                 edge: null,