diff --git a/SerialMonitor.html b/SerialMonitor.html
deleted file mode 100644
index 04f37a35619e79115a4b1cbc111b40ae732899ea..0000000000000000000000000000000000000000
--- a/SerialMonitor.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<head>
-    <title>Serial Monitor</title>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <link href="dependencies/flatUI/css/vendor/bootstrap.min.css" rel="stylesheet"><!-- Loading Bootstrap -->
-    <link href="dependencies/flatUI/css/flat-ui.css" rel="stylesheet"><!-- Loading Flat UI -->
-    <link href="css/serialMonitor.css" rel="stylesheet"><!-- Loading custom stylingI -->
-    <script data-main="js/menus/SerialMonitorView" src="dependencies/require/require.js"></script>
-</head>
-<html><div id="serialMonitorView">
-    serial monitor
-    <input id="sendSerialMessage" value="" placeholder="Send Message" class="form-control" type="text">
-</div>
-</html>
\ No newline at end of file
diff --git a/css/serialMonitor.css b/css/serialMonitor.css
index 19fd7ce33e6a4336c7954d38fb997852ca66d352..4589d322f155d6bdd4008e36befe6e95e4c3c135 100644
--- a/css/serialMonitor.css
+++ b/css/serialMonitor.css
@@ -1,7 +1,21 @@
-  #serialMonitorSend {
+  #sendSerialMessage {
     position: absolute;
     bottom: 0px;
     border-radius: 0px;
     border: none;
     border-top: 2px solid #bdc3c7;
+  }
+
+  #serialMonitorOutput {
+    width: 100%;
+    height: 100%;
+    overflow: auto;
+    padding: 10px 20px 100px 20px;
+    font-family: Courier, monospace;
+    font-size: 13px;
+    line-height: 25px;
+  }
+
+  #serialMonitorView {
+      overflow: hidden;
   }
\ No newline at end of file
diff --git a/js/SerialMonitor/SerialMonitor.js b/js/SerialMonitor/SerialMonitor.js
new file mode 100644
index 0000000000000000000000000000000000000000..8fa39669b431e5bf99c43538691ed2cc86572903
--- /dev/null
+++ b/js/SerialMonitor/SerialMonitor.js
@@ -0,0 +1,15 @@
+/**
+ * Created by aghassaei on 9/9/15.
+ */
+
+
+define(['backbone'], function(Backbone){
+
+    return Backbone.Model.extend({
+
+        defaults: {
+            autoscroll: true
+        }
+
+    });
+});
\ No newline at end of file
diff --git a/js/menus/SerialMonitorController.js b/js/SerialMonitor/SerialMonitorController.js
similarity index 82%
rename from js/menus/SerialMonitorController.js
rename to js/SerialMonitor/SerialMonitorController.js
index eab4ebe05e97b4db1995be5eebb0874ea8cf1bdc..3ed4f94105909c56098589912c5e8748d3101591 100644
--- a/js/menus/SerialMonitorController.js
+++ b/js/SerialMonitor/SerialMonitorController.js
@@ -23,7 +23,7 @@ define(['jquery', 'underscore', 'backbone'], function($, _, Backbone){
                 this.popup.focus();
                 return;
             }
-            this.popup = window.open('SerialMonitor.html', '', 'height=400, width=400, titlebar=no, toolbar=no, menubar=yes, scrollbars=no, resizable=yes, location=no, directories=no, status=no');
+            this.popup = window.open('js/SerialMonitor/index.html', '', 'height=400, width=400, titlebar=no, toolbar=no, menubar=yes, scrollbars=no, resizable=yes, location=no, directories=no, status=no');
             var self = this;
             $(this.popup).unload(function(){
                 self.onClose();
diff --git a/js/SerialMonitor/SerialMonitorView.js b/js/SerialMonitor/SerialMonitorView.js
new file mode 100644
index 0000000000000000000000000000000000000000..c4b13713bc4d5b27b7e34a8897af8424577448bd
--- /dev/null
+++ b/js/SerialMonitor/SerialMonitorView.js
@@ -0,0 +1,17 @@
+/**
+ * Created by aghassaei on 9/9/15.
+ */
+
+
+define(['jquery', 'underscore', 'backbone'], function($, _, Backbone){
+
+    return Backbone.View.extend({
+
+        el: "#serialMonitorView",
+
+        initialize: function(){
+            $("#serialMonitorOutput").html("flksadlfkj<br/>flksadlfkj<br/>flksadlfkj<br/>)flksadlfkj<br/>flksadlfkj<br/>flksadlfkj<br/>flksadlfkj<br/>flksadlfkj<br/>flksadlfkj<br/>flksadlfkj<br/>)flksadlfkj<br/>flksadlfkj<br/>flksadlfkj<br/>flksadlfkj<br/>");
+        }
+
+    });
+});
\ No newline at end of file
diff --git a/js/SerialMonitor/index.html b/js/SerialMonitor/index.html
new file mode 100644
index 0000000000000000000000000000000000000000..72d0ad003f034eff1c3d8ed599b34fd0e53b483b
--- /dev/null
+++ b/js/SerialMonitor/index.html
@@ -0,0 +1,14 @@
+<head>
+    <title>Serial Monitor</title>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <link href="../../dependencies/flatUI/css/vendor/bootstrap.min.css" rel="stylesheet"><!-- Loading Bootstrap -->
+    <link href="../../dependencies/flatUI/css/flat-ui.css" rel="stylesheet"><!-- Loading Flat UI -->
+    <link href="../../css/serialMonitor.css" rel="stylesheet"><!-- Loading custom stylingI -->
+    <script data-main="main" src="../../dependencies/require/require.js"></script>
+</head>
+<html><div id="serialMonitorView">
+    <div id="serialMonitorOutput"></div>
+    <input id="sendSerialMessage" value="" placeholder="Send Message" class="form-control" type="text">
+</div>
+</html>
\ No newline at end of file
diff --git a/js/SerialMonitor/main.js b/js/SerialMonitor/main.js
new file mode 100644
index 0000000000000000000000000000000000000000..41e8ab13681cacbabae4be2337c9d0bfee32ac61
--- /dev/null
+++ b/js/SerialMonitor/main.js
@@ -0,0 +1,21 @@
+/**
+ * Created by aghassaei on 9/9/15.
+ */
+
+
+require.config({
+
+    paths: {
+        jquery: '../../dependencies/jquery-2.1.3',
+        underscore: '../../dependencies/underscore',
+        backbone: '../../dependencies/backbone',
+        serialMonitor: 'SerialMonitor',
+        serialMonitorView: 'SerialMonitorView'
+    }
+
+});
+
+console.log("herefsdf");
+require(['serialMonitorView', 'serialMonitor'], function(SerialMonitorView, SerialMonitor){
+    new SerialMonitorView({model: new SerialMonitor()});
+});
\ No newline at end of file
diff --git a/js/main.js b/js/main.js
index d927b0b440de3061c771a42ad1e97e6c870e7b7e..2e27aa789f8590250b047fcffecef6d2d93170f6 100644
--- a/js/main.js
+++ b/js/main.js
@@ -142,7 +142,7 @@ require.config({
         assemblerSetupMenu: 'menus/AssemblerSetupMenuView',
         editComponentMenu: 'menus/EditComponentMenuView',
         commParentMenu: 'menus/CommParentMenu',
-        serialMonitorController: 'menus/SerialMonitorController',
+        serialMonitorController: 'SerialMonitor/SerialMonitorController',
 
         //templates
         navViewMenuTemplate: 'menus/templates/NavViewMenu.html',
diff --git a/js/menus/SerialMonitorView.js b/js/menus/SerialMonitorView.js
deleted file mode 100644
index c1f35fdb19c9418577e0315ae53a11fc51101942..0000000000000000000000000000000000000000
--- a/js/menus/SerialMonitorView.js
+++ /dev/null
@@ -1,64 +0,0 @@
-/**
- * Created by aghassaei on 9/9/15.
- */
-
-require.config({
-
-    baseUrl: 'js',
-
-    paths: {
-        jquery: '../dependencies/jquery-2.1.3',
-        underscore: '../dependencies/underscore',
-        backbone: '../dependencies/backbone'
-    },
-
-    shim: {
-        three: {
-            exports: 'THREE'
-        },
-        orbitControls: {
-            deps: ['three'],
-            exports: 'THREE'
-        },
-        stlLoader: {
-            deps: ['three'],
-            exports: 'THREE'
-        },
-        fileSaverLib: {
-            exports: 'saveAs'
-        },
-        flatUI: {
-            deps: ['jquery']
-        },
-        bootstrapSlider:{
-            deps: ['jquery'],
-            exports: '$'
-        },
-        'socketio': {
-            exports: 'io'
-        },
-        'numeric': {
-            exports: 'numeric'
-        }
-    }
-
-});
-
-console.log("hi");
-
-require(['jquery', 'underscore', 'backbone'], function($, _, Backbone){
-
-    console.log("here45");
-
-    var SerialMonitorView = Backbone.View.extend({
-
-        el: "#serialMonitorView",
-
-        initialize: function(){
-            $("#serialMonitorView").html("working");
-        }
-
-    });
-
-    new SerialMonitorView();
-});
\ No newline at end of file