diff --git a/.gitignore b/.gitignore
index b947077..b83deb0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,4 @@
 node_modules/
 dist/
+.tmp/
+.idea/
diff --git a/conf/browsersync.conf.js b/conf/browsersync.conf.js
index 49936d4..06cb51a 100755
--- a/conf/browsersync.conf.js
+++ b/conf/browsersync.conf.js
@@ -1,4 +1,5 @@
 const conf = require('./gulp.conf');
+const proxy = require('./proxy');
 
 module.exports = function () {
   return {
@@ -6,7 +7,15 @@
       baseDir: [
         conf.paths.tmp,
         conf.paths.src
-      ]
+      ],
+      middleware: function (req, res, next) {
+        if (req.url.indexOf('xosapi') !== -1 || req.url.indexOf('xos') !== -1 || req.url.indexOf('socket') !== -1) {
+          proxy.api.web(req, res);
+        }
+        else {
+          next();
+        }
+      }
     },
     open: false
   };
diff --git a/conf/proxy.js b/conf/proxy.js
new file mode 100644
index 0000000..311dbcd
--- /dev/null
+++ b/conf/proxy.js
@@ -0,0 +1,18 @@
+const httpProxy = require('http-proxy');
+
+const target = process.env.PROXY || '192.168.46.100';
+
+const apiProxy = httpProxy.createProxyServer({
+  target: `http://${target}`
+});
+
+apiProxy.on('error', (error, req, res) => {
+  res.writeHead(500, {
+    'Content-Type': 'text/plain'
+  });
+  console.error('[Proxy]', error);
+});
+
+module.exports = {
+  api: apiProxy
+};
diff --git a/package.json b/package.json
index ec3e7fa..32a0676 100644
--- a/package.json
+++ b/package.json
@@ -1,82 +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",
-    "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": {
@@ -85,9 +96,10 @@
     "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",
+    "test:e2e": "protractor conf/protractor.conf.js",
     "config": "gulp config",
     "lint": "tslint -c ./tslint.json 'src/**/*.ts'"
   },
@@ -104,4 +116,4 @@
       "xo-space/esnext"
     ]
   }
-}
+}
\ No newline at end of file
diff --git a/src/index.html b/src/index.html
index d8ac498..4c14a29 100644
--- a/src/index.html
+++ b/src/index.html
@@ -3,8 +3,15 @@
 <head>
   <meta charset="UTF-8">
   <title>Document</title>
+  <link href="/xos/loader.css" rel="stylesheet">
+  <link href="/xos/app.css" rel="stylesheet">
 </head>
 <body>
   <div ui-view></div>
+  <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>
\ No newline at end of file
+</html>
diff --git a/src/index.ts b/src/index.ts
index 417424f..cf6bbc4 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -12,7 +12,7 @@
 
 angular.module('xos-sample-gui-extension', [
     'ui.router',
-    'xosCore'
+    'app'
   ])
   .config(routesConfig)
   .component('demo', xosDemoComponent)
