diff --git a/js/views/elementMenu.js b/js/menus/elementMenu.js
similarity index 100%
rename from js/views/elementMenu.js
rename to js/menus/elementMenu.js
diff --git a/js/views/exportMenu.js b/js/menus/exportMenu.js
similarity index 100%
rename from js/views/exportMenu.js
rename to js/menus/exportMenu.js
diff --git a/js/views/importMenu.js b/js/menus/importMenu.js
similarity index 100%
rename from js/views/importMenu.js
rename to js/menus/importMenu.js
diff --git a/js/views/importView.js b/js/menus/importView.js
similarity index 100%
rename from js/views/importView.js
rename to js/menus/importView.js
diff --git a/js/views/navbar.js b/js/menus/navbar.js
similarity index 100%
rename from js/views/navbar.js
rename to js/menus/navbar.js
diff --git a/js/views/fillGeometryView.js b/js/threeViews/fillGeometryView.js
similarity index 84%
rename from js/views/fillGeometryView.js
rename to js/threeViews/fillGeometryView.js
index df71d156eebf098377538b4dafd0d9daa7d079a4..b7506d35834a080da50304f94eb61767a7b62a62 100644
--- a/js/views/fillGeometryView.js
+++ b/js/threeViews/fillGeometryView.js
@@ -3,16 +3,14 @@
  */
 
 
-FillGeometryView = Backbone.View.extend({
+FillGeometryView = PushPullMeshView.extend({
 
     events: {
-
-
     },
 
     initialize: function(options){
 
-        this.three = options.three;
+        PushPullMeshView.prototype.initialize.apply(this, arguments);
 
         //bind events
         this.listenTo(this.model, "change:geometry", this.replaceFillGeometry);
diff --git a/js/threeViews/pushPullMeshView.js b/js/threeViews/pushPullMeshView.js
new file mode 100644
index 0000000000000000000000000000000000000000..a88a72e4d4e28b78b8c576fcdf981fc1d66efdc8
--- /dev/null
+++ b/js/threeViews/pushPullMeshView.js
@@ -0,0 +1,25 @@
+/**
+ * Created by aghassaei on 1/17/15.
+ */
+
+//this is a parent class for other threeJS VCs that allows push and pull scale and orientation changes in the threeJS scene
+
+PushPullMeshView = Backbone.View.extend({
+
+
+    events: {
+    },
+
+    initialize: function(options){
+
+        this.three = options.three;
+
+        //bind events
+
+    }
+//
+//    render: function(){
+//        this.three.render();
+//    }
+
+});
\ No newline at end of file
diff --git a/js/views/threeView.js b/js/threeViews/threeView.js
similarity index 100%
rename from js/views/threeView.js
rename to js/threeViews/threeView.js
diff --git a/main.html b/main.html
index 746e828a9ccd55e9e05a6e0472a1f7249ed4a433..1a6d145c4971c03d79e37267763e55ee796ad873 100644
--- a/main.html
+++ b/main.html
@@ -45,17 +45,18 @@
     <script src="js/models/lattice.js"></script>
 
     <!--views-->
-    <script src="js/views/threeView.js"></script>
-    <script src="js/views/importView.js"></script>
-    <script src="js/views/fillGeometryView.js"></script>
+    <script src="js/threeViews/threeView.js"></script>
+    <script src="js/threeViews/pushPullMeshView.js"></script>
+    <script src="js/menus/importView.js"></script>
+    <script src="js/threeViews/fillGeometryView.js"></script>
 
     <script src="js/main.js"></script>
 
 
     <!--<script src="js/views/importMenu.js"></script>-->
     <!--<script src="js/views/elementMenu.js"></script>-->
-    <script src="js/views/exportMenu.js"></script>
-    <script src="js/views/navbar.js"></script>
+    <script src="js/menus/exportMenu.js"></script>
+    <script src="js/menus/navbar.js"></script>
     <link rel="stylesheet" type="text/css" href="css/main.css">
 
 </head>