diff --git a/xos/gui/conf/browsersync.conf.js b/xos/gui/conf/browsersync.conf.js
index 430c94f..06cb51a 100755
--- a/xos/gui/conf/browsersync.conf.js
+++ b/xos/gui/conf/browsersync.conf.js
@@ -9,12 +9,9 @@
         conf.paths.src
       ],
       middleware: function (req, res, next) {
-        if (req.url.indexOf('xosapi') !== -1) {
+        if (req.url.indexOf('xosapi') !== -1 || req.url.indexOf('xos') !== -1 || req.url.indexOf('socket') !== -1) {
           proxy.api.web(req, res);
         }
-        else if (req.url.indexOf('spa') !== -1 || req.url.indexOf('socket') !== -1) {
-          proxy.static.web(req, res);
-        }
         else {
           next();
         }
diff --git a/xos/gui/conf/proxy.js b/xos/gui/conf/proxy.js
index aeed199..41c8297 100644
--- a/xos/gui/conf/proxy.js
+++ b/xos/gui/conf/proxy.js
@@ -6,10 +6,6 @@
   target: `http://${target}`
 });
 
-const staticFilesProxy = httpProxy.createProxyServer({
-  target: `http://${target}/spa`
-});
-
 apiProxy.on('error', (error, req, res) => {
   res.writeHead(500, {
     'Content-Type': 'text/plain'
@@ -17,14 +13,6 @@
   console.error('[Proxy]', error);
 });
 
-staticFilesProxy.on('error', (error, req, res) => {
-  res.writeHead(500, {
-    'Content-Type': 'text/plain'
-  });
-  console.error('[Proxy]', error);
-});
-
 module.exports = {
   api: apiProxy,
-  static: staticFilesProxy
 };
diff --git a/xos/gui/package.json b/xos/gui/package.json
index f9d893b..00b888b 100644
--- a/xos/gui/package.json
+++ b/xos/gui/package.json
@@ -1,83 +1,93 @@
 {
-  "version": "2.0.0",
+  "version": "3.0.0",
   "dependencies": {
-    "angular": "^1.5.0",
-    "angular-animate": "^1.6.0",
-    "angular-cookies": "^1.6.0",
-    "angular-resource": "^1.6.0",
-    "angular-toastr": "^2.1.1",
-    "angular-ui-bootstrap": "^2.3.1",
+    "angular": "1.6.3",
+    "angular-animate": "1.6.3",
+    "angular-cookies": "1.6.3",
+    "angular-resource": "1.6.3",
+    "angular-toastr": "2.1.1",
+    "angular-ui-bootstrap": "2.5.0",
     "angular-ui-router": "1.0.0-beta.1",
-    "bootstrap": "^3.3.7",
-    "http-proxy": "^1.16.2",
-    "jquery": "^3.1.1",
-    "lodash": "^4.17.2",
-    "pluralize": "^3.1.0",
-    "rxjs": "^5.0.1",
-    "socket.io-client": "^1.7.2"
+    "bootstrap": "3.3.7",
+    "bootstrap-sass": "3.3.7",
+    "d3": "3.5.17",
+    "jquery": "3.1.1",
+    "lodash": "4.17.4",
+    "ngprogress": "1.1.1",
+    "oclazyload": "1.1.0",
+    "pluralize": "3.1.0",
+    "rxjs": "5.2.0",
+    "socket.io-client": "1.7.3"
   },
   "devDependencies": {
-    "angular-mocks": "^1.5.0-beta.2",
-    "autoprefixer": "^6.2.2",
-    "babel-eslint": "^6.0.2",
-    "babel-loader": "^6.2.0",
-    "babel-plugin-istanbul": "^2.0.1",
+    "angular-mocks": "1.6.4",
+    "autoprefixer": "6.7.7",
+    "babel-eslint": "6.1.2",
+    "babel-loader": "6.4.1",
+    "babel-plugin-istanbul": "2.0.3",
     "base-href-webpack-plugin": "1.0.0",
-    "browser-sync": "^2.9.11",
-    "browser-sync-spa": "^1.0.3",
-    "copy-webpack-plugin": "^4.0.1",
-    "css-loader": "^0.23.1",
-    "del": "^2.0.2",
-    "es6-shim": "^0.35.0",
-    "eslint": "^3.2.2",
-    "eslint-config-angular": "^0.5.0",
-    "eslint-config-xo-space": "^0.12.0",
-    "eslint-loader": "^1.3.0",
-    "eslint-plugin-angular": "^1.3.0",
-    "eslint-plugin-babel": "^3.1.0",
+    "bluebird": "^3.5.0",
+    "browser-sync": "2.18.8",
+    "browser-sync-spa": "1.0.3",
+    "copy-webpack-plugin": "4.0.1",
+    "css-loader": "0.23.1",
+    "del": "2.2.2",
+    "es6-shim": "0.35.3",
+    "eslint": "3.19.0",
+    "eslint-config-angular": "0.5.0",
+    "eslint-config-xo-space": "0.12.0",
+    "eslint-loader": "1.7.1",
+    "eslint-plugin-angular": "1.6.4",
+    "eslint-plugin-babel": "3.3.0",
     "extract-text-webpack-plugin": "2.0.0-beta.3",
-    "file-loader": "^0.9.0",
+    "file-loader": "0.9.0",
+    "gitbook-cli": "^2.3.0",
     "gulp": "gulpjs/gulp#4ed9a4a3275559c73a396eff7e1fde3824951ebb",
-    "gulp-angular-filesort": "^1.1.1",
-    "gulp-angular-templatecache": "^1.8.0",
-    "gulp-filter": "^4.0.0",
-    "gulp-htmlmin": "^1.3.0",
+    "gulp-angular-filesort": "1.1.1",
+    "gulp-angular-templatecache": "1.9.1",
+    "gulp-filter": "4.0.0",
+    "gulp-htmlmin": "1.3.0",
     "gulp-hub": "frankwallis/gulp-hub#d461b9c700df9010d0a8694e4af1fb96d9f38bf4",
-    "gulp-insert": "^0.5.0",
-    "gulp-ng-annotate": "^1.1.0",
-    "gulp-rename": "^1.2.2",
-    "gulp-replace": "^0.5.4",
-    "gulp-sass": "^2.1.1",
-    "gulp-util": "^3.0.7",
-    "html-loader": "^0.4.3",
-    "html-webpack-plugin": "^2.9.0",
-    "jasmine": "^2.4.1",
-    "jasmine-jquery": "^2.1.1",
-    "json-loader": "^0.5.4",
-    "karma": "^1.3.0",
-    "karma-angular-filesort": "^1.0.0",
-    "karma-chrome-launcher": "^2.0.0",
-    "karma-coverage": "^1.1.1",
-    "karma-es6-shim": "^1.0.0",
-    "karma-jasmine": "^1.0.2",
-    "karma-junit-reporter": "^1.1.0",
-    "karma-mocha-reporter": "^2.2.1",
-    "karma-ng-html2js-preprocessor": "^0.2.0",
-    "karma-phantomjs-launcher": "^1.0.0",
-    "karma-phantomjs-shim": "^1.1.2",
-    "karma-webpack": "^1.7.0",
-    "ng-annotate-loader": "^0.0.10",
-    "node-sass": "^3.4.2",
-    "phantomjs-prebuilt": "^2.1.6",
-    "postcss-loader": "^0.8.0",
-    "sass-loader": "^3.1.2",
-    "style-loader": "^0.13.0",
-    "ts-loader": "^0.8.2",
-    "tslint": "^3.15.1",
-    "tslint-loader": "^2.1.0",
-    "typescript": "^2.0.2",
-    "typings": "^1.0.4",
-    "url-loader": "^0.5.7",
+    "gulp-insert": "0.5.0",
+    "gulp-ng-annotate": "1.1.0",
+    "gulp-rename": "1.2.2",
+    "gulp-replace": "0.5.4",
+    "gulp-sass": "2.3.2",
+    "gulp-util": "3.0.8",
+    "html-loader": "0.4.5",
+    "html-webpack-plugin": "2.28.0",
+    "http-proxy": "1.16.2",
+    "istanbul-instrumenter-loader": "2.0.0",
+    "jasmine": "2.5.3",
+    "jasmine-jquery": "2.1.1",
+    "jasmine-spec-reporter": "^4.0.0",
+    "json-loader": "0.5.4",
+    "karma": "1.6.0",
+    "karma-angular-filesort": "1.0.2",
+    "karma-chrome-launcher": "2.0.0",
+    "karma-coverage": "1.1.1",
+    "karma-es6-shim": "1.0.0",
+    "karma-jasmine": "1.1.0",
+    "karma-junit-reporter": "1.2.0",
+    "karma-mocha-reporter": "2.2.3",
+    "karma-ng-html2js-preprocessor": "0.2.2",
+    "karma-phantomjs-launcher": "1.0.4",
+    "karma-phantomjs-shim": "1.4.0",
+    "karma-webpack": "1.8.1",
+    "ng-annotate-loader": "0.0.10",
+    "node-sass": "3.13.1",
+    "phantomjs-prebuilt": "2.1.14",
+    "postcss-loader": "0.8.2",
+    "remap-istanbul": "0.9.5",
+    "resolve-url-loader": "1.6.1",
+    "sass-loader": "3.2.3",
+    "style-loader": "0.13.2",
+    "ts-loader": "0.8.2",
+    "tslint": "3.15.1",
+    "tslint-loader": "2.1.5",
+    "typescript": "2.2.2",
+    "typings": "1.5.0",
+    "url-loader": "0.5.8",
     "webpack": "2.1.0-beta.20"
   },
   "scripts": {
@@ -86,7 +96,7 @@
     "start": "gulp serve",
     "typings": "typings install",
     "serve:dist": "gulp serve:dist",
-    "pretest": "npm run lint",
+    "serve:dist:watch": "gulp serve:dist:watch",
     "test": "gulp test",
     "test:auto": "gulp test:auto",
     "config": "gulp config",
@@ -105,4 +115,4 @@
       "xo-space/esnext"
     ]
   }
-}
+}
\ No newline at end of file
diff --git a/xos/gui/src/index.html b/xos/gui/src/index.html
index c072919..c3510e2 100644
--- a/xos/gui/src/index.html
+++ b/xos/gui/src/index.html
@@ -3,15 +3,15 @@
 <head>
   <meta charset="UTF-8">
   <title>Document</title>
-  <link href="/spa/loader.css" rel="stylesheet">
-  <link href="/spa/app.css" rel="stylesheet">
+  <link href="/xos/loader.css" rel="stylesheet">
+  <link href="/xos/app.css" rel="stylesheet">
 </head>
 <body>
   <div ui-view></div>
-  <script src="/spa/vendor.js"></script>
-  <script src="/spa/app.js"></script>
-  <script src="/spa/loader.js"></script>
-  <script src="/spa/app.config.js"></script>
-  <script src="/spa/style.config.js"></script>
+  <script src="/xos/vendor.js"></script>
+  <script src="/xos/app.js"></script>
+  <script src="/xos/loader.js"></script>
+  <script src="/xos/app.config.js"></script>
+  <script src="/xos/style.config.js"></script>
 </body>
 </html>
