Merge branch 'master' into feature/serviceTopology

# Conflicts:
#	views/.yo-rc.json
#	views/README.md
#	views/ngXosLib/README.md
#	views/ngXosLib/xosHelpers/src/services/csrfToken.interceptor.js
diff --git a/applications/README.md b/applications/README.md
new file mode 100644
index 0000000..dcb0552
--- /dev/null
+++ b/applications/README.md
@@ -0,0 +1,7 @@
+## Applications on XOS
+
+This directory contains applications that run on top of the XOS API.
+Initially, this includes:
+
+- Autoscaling Application
+- Subscriber Portal (Demo Application)
diff --git a/xos-apps/auto-scale/README.md b/applications/auto-scale/README.md
similarity index 88%
rename from xos-apps/auto-scale/README.md
rename to applications/auto-scale/README.md
index 3985719..cb11620 100644
--- a/xos-apps/auto-scale/README.md
+++ b/applications/auto-scale/README.md
@@ -1,3 +1,10 @@
+# Autoscaling Application
+The auto-scaling app uses monitoring data to decide when to scale a service up/down.
+
+It is treated as an application rather than yet another
+service because it offers only a GUI front-end; it is not
+modelled as a service that other services can build upon.
+
 #How to
 
 Ensure that the CORD config is installed and then run:
diff --git a/xos-apps/auto-scale/gui/.bowerrc b/applications/auto-scale/gui/.bowerrc
similarity index 100%
rename from xos-apps/auto-scale/gui/.bowerrc
rename to applications/auto-scale/gui/.bowerrc
diff --git a/xos-apps/auto-scale/gui/.editorconfig b/applications/auto-scale/gui/.editorconfig
similarity index 100%
rename from xos-apps/auto-scale/gui/.editorconfig
rename to applications/auto-scale/gui/.editorconfig
diff --git a/xos-apps/auto-scale/gui/.eslintrc b/applications/auto-scale/gui/.eslintrc
similarity index 100%
rename from xos-apps/auto-scale/gui/.eslintrc
rename to applications/auto-scale/gui/.eslintrc
diff --git a/xos-apps/auto-scale/gui/.gitignore b/applications/auto-scale/gui/.gitignore
similarity index 100%
rename from xos-apps/auto-scale/gui/.gitignore
rename to applications/auto-scale/gui/.gitignore
diff --git a/xos-apps/auto-scale/gui/bower.json b/applications/auto-scale/gui/bower.json
similarity index 100%
rename from xos-apps/auto-scale/gui/bower.json
rename to applications/auto-scale/gui/bower.json
diff --git a/xos-apps/auto-scale/gui/env/default.js b/applications/auto-scale/gui/env/default.js
similarity index 100%
rename from xos-apps/auto-scale/gui/env/default.js
rename to applications/auto-scale/gui/env/default.js
diff --git a/xos-apps/auto-scale/gui/env/srikanth.js b/applications/auto-scale/gui/env/srikanth.js
similarity index 100%
rename from xos-apps/auto-scale/gui/env/srikanth.js
rename to applications/auto-scale/gui/env/srikanth.js
diff --git a/xos-apps/auto-scale/gui/gulp/build.js b/applications/auto-scale/gui/gulp/build.js
similarity index 100%
rename from xos-apps/auto-scale/gui/gulp/build.js
rename to applications/auto-scale/gui/gulp/build.js
diff --git a/xos-apps/auto-scale/gui/gulp/server.js b/applications/auto-scale/gui/gulp/server.js
similarity index 100%
rename from xos-apps/auto-scale/gui/gulp/server.js
rename to applications/auto-scale/gui/gulp/server.js
diff --git a/xos-apps/auto-scale/gui/gulpfile.js b/applications/auto-scale/gui/gulpfile.js
similarity index 100%
rename from xos-apps/auto-scale/gui/gulpfile.js
rename to applications/auto-scale/gui/gulpfile.js
diff --git a/xos-apps/auto-scale/gui/karma.conf.js b/applications/auto-scale/gui/karma.conf.js
similarity index 100%
rename from xos-apps/auto-scale/gui/karma.conf.js
rename to applications/auto-scale/gui/karma.conf.js
diff --git a/xos-apps/auto-scale/gui/package.json b/applications/auto-scale/gui/package.json
similarity index 100%
rename from xos-apps/auto-scale/gui/package.json
rename to applications/auto-scale/gui/package.json
diff --git a/xos-apps/auto-scale/gui/spec/.eslintrc b/applications/auto-scale/gui/spec/.eslintrc
similarity index 100%
rename from xos-apps/auto-scale/gui/spec/.eslintrc
rename to applications/auto-scale/gui/spec/.eslintrc
diff --git a/xos-apps/auto-scale/gui/spec/autoscaling.test.js b/applications/auto-scale/gui/spec/autoscaling.test.js
similarity index 100%
rename from xos-apps/auto-scale/gui/spec/autoscaling.test.js
rename to applications/auto-scale/gui/spec/autoscaling.test.js
diff --git a/xos-apps/auto-scale/gui/spec/autoscaling_data.mock.js b/applications/auto-scale/gui/spec/autoscaling_data.mock.js
similarity index 100%
rename from xos-apps/auto-scale/gui/spec/autoscaling_data.mock.js
rename to applications/auto-scale/gui/spec/autoscaling_data.mock.js
diff --git a/xos-apps/auto-scale/gui/src/css/style.css b/applications/auto-scale/gui/src/css/style.css
similarity index 100%
rename from xos-apps/auto-scale/gui/src/css/style.css
rename to applications/auto-scale/gui/src/css/style.css
diff --git a/xos-apps/auto-scale/gui/src/index.html b/applications/auto-scale/gui/src/index.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/index.html
rename to applications/auto-scale/gui/src/index.html
diff --git a/xos-apps/auto-scale/gui/src/js/autoscaling.service.js b/applications/auto-scale/gui/src/js/autoscaling.service.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/js/autoscaling.service.js
rename to applications/auto-scale/gui/src/js/autoscaling.service.js
diff --git a/xos-apps/auto-scale/gui/src/js/autoscaling_details.directive.js b/applications/auto-scale/gui/src/js/autoscaling_details.directive.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/js/autoscaling_details.directive.js
rename to applications/auto-scale/gui/src/js/autoscaling_details.directive.js
diff --git a/xos-apps/auto-scale/gui/src/js/main.js b/applications/auto-scale/gui/src/js/main.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/js/main.js
rename to applications/auto-scale/gui/src/js/main.js
diff --git a/xos-apps/auto-scale/gui/src/mocks/mock.json b/applications/auto-scale/gui/src/mocks/mock.json
similarity index 100%
rename from xos-apps/auto-scale/gui/src/mocks/mock.json
rename to applications/auto-scale/gui/src/mocks/mock.json
diff --git a/xos-apps/auto-scale/gui/src/templates/service-container.tpl.html b/applications/auto-scale/gui/src/templates/service-container.tpl.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/templates/service-container.tpl.html
rename to applications/auto-scale/gui/src/templates/service-container.tpl.html
diff --git a/xos-apps/auto-scale/gui/src/templates/service-detail.tpl.html b/applications/auto-scale/gui/src/templates/service-detail.tpl.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/templates/service-detail.tpl.html
rename to applications/auto-scale/gui/src/templates/service-detail.tpl.html
diff --git a/xos-apps/auto-scale/gui/src/templates/slice-detail.tpl.html b/applications/auto-scale/gui/src/templates/slice-detail.tpl.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/templates/slice-detail.tpl.html
rename to applications/auto-scale/gui/src/templates/slice-detail.tpl.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/Chart.js/.bower.json b/applications/auto-scale/gui/src/vendor/Chart.js/.bower.json
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/Chart.js/.bower.json
rename to applications/auto-scale/gui/src/vendor/Chart.js/.bower.json
diff --git a/xos-apps/auto-scale/gui/src/vendor/Chart.js/.gitignore b/applications/auto-scale/gui/src/vendor/Chart.js/.gitignore
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/Chart.js/.gitignore
rename to applications/auto-scale/gui/src/vendor/Chart.js/.gitignore
diff --git a/xos-apps/auto-scale/gui/src/vendor/Chart.js/.travis.yml b/applications/auto-scale/gui/src/vendor/Chart.js/.travis.yml
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/Chart.js/.travis.yml
rename to applications/auto-scale/gui/src/vendor/Chart.js/.travis.yml
diff --git a/xos-apps/auto-scale/gui/src/vendor/Chart.js/CONTRIBUTING.md b/applications/auto-scale/gui/src/vendor/Chart.js/CONTRIBUTING.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/Chart.js/CONTRIBUTING.md
rename to applications/auto-scale/gui/src/vendor/Chart.js/CONTRIBUTING.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/Chart.js/Chart.js b/applications/auto-scale/gui/src/vendor/Chart.js/Chart.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/Chart.js/Chart.js
rename to applications/auto-scale/gui/src/vendor/Chart.js/Chart.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/Chart.js/Chart.min.js b/applications/auto-scale/gui/src/vendor/Chart.js/Chart.min.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/Chart.js/Chart.min.js
rename to applications/auto-scale/gui/src/vendor/Chart.js/Chart.min.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/Chart.js/LICENSE.md b/applications/auto-scale/gui/src/vendor/Chart.js/LICENSE.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/Chart.js/LICENSE.md
rename to applications/auto-scale/gui/src/vendor/Chart.js/LICENSE.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/Chart.js/README.md b/applications/auto-scale/gui/src/vendor/Chart.js/README.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/Chart.js/README.md
rename to applications/auto-scale/gui/src/vendor/Chart.js/README.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/Chart.js/bower.json b/applications/auto-scale/gui/src/vendor/Chart.js/bower.json
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/Chart.js/bower.json
rename to applications/auto-scale/gui/src/vendor/Chart.js/bower.json
diff --git a/xos-apps/auto-scale/gui/src/vendor/Chart.js/docs/00-Getting-Started.md b/applications/auto-scale/gui/src/vendor/Chart.js/docs/00-Getting-Started.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/Chart.js/docs/00-Getting-Started.md
rename to applications/auto-scale/gui/src/vendor/Chart.js/docs/00-Getting-Started.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/Chart.js/docs/01-Line-Chart.md b/applications/auto-scale/gui/src/vendor/Chart.js/docs/01-Line-Chart.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/Chart.js/docs/01-Line-Chart.md
rename to applications/auto-scale/gui/src/vendor/Chart.js/docs/01-Line-Chart.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/Chart.js/docs/02-Bar-Chart.md b/applications/auto-scale/gui/src/vendor/Chart.js/docs/02-Bar-Chart.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/Chart.js/docs/02-Bar-Chart.md
rename to applications/auto-scale/gui/src/vendor/Chart.js/docs/02-Bar-Chart.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/Chart.js/docs/03-Radar-Chart.md b/applications/auto-scale/gui/src/vendor/Chart.js/docs/03-Radar-Chart.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/Chart.js/docs/03-Radar-Chart.md
rename to applications/auto-scale/gui/src/vendor/Chart.js/docs/03-Radar-Chart.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/Chart.js/docs/04-Polar-Area-Chart.md b/applications/auto-scale/gui/src/vendor/Chart.js/docs/04-Polar-Area-Chart.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/Chart.js/docs/04-Polar-Area-Chart.md
rename to applications/auto-scale/gui/src/vendor/Chart.js/docs/04-Polar-Area-Chart.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/Chart.js/docs/05-Pie-Doughnut-Chart.md b/applications/auto-scale/gui/src/vendor/Chart.js/docs/05-Pie-Doughnut-Chart.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/Chart.js/docs/05-Pie-Doughnut-Chart.md
rename to applications/auto-scale/gui/src/vendor/Chart.js/docs/05-Pie-Doughnut-Chart.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/Chart.js/docs/06-Advanced.md b/applications/auto-scale/gui/src/vendor/Chart.js/docs/06-Advanced.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/Chart.js/docs/06-Advanced.md
rename to applications/auto-scale/gui/src/vendor/Chart.js/docs/06-Advanced.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/Chart.js/docs/07-Notes.md b/applications/auto-scale/gui/src/vendor/Chart.js/docs/07-Notes.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/Chart.js/docs/07-Notes.md
rename to applications/auto-scale/gui/src/vendor/Chart.js/docs/07-Notes.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/Chart.js/gulpfile.js b/applications/auto-scale/gui/src/vendor/Chart.js/gulpfile.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/Chart.js/gulpfile.js
rename to applications/auto-scale/gui/src/vendor/Chart.js/gulpfile.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/Chart.js/package.json b/applications/auto-scale/gui/src/vendor/Chart.js/package.json
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/Chart.js/package.json
rename to applications/auto-scale/gui/src/vendor/Chart.js/package.json
diff --git a/xos-apps/auto-scale/gui/src/vendor/Chart.js/samples/bar.html b/applications/auto-scale/gui/src/vendor/Chart.js/samples/bar.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/Chart.js/samples/bar.html
rename to applications/auto-scale/gui/src/vendor/Chart.js/samples/bar.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/Chart.js/samples/doughnut.html b/applications/auto-scale/gui/src/vendor/Chart.js/samples/doughnut.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/Chart.js/samples/doughnut.html
rename to applications/auto-scale/gui/src/vendor/Chart.js/samples/doughnut.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/Chart.js/samples/line-customTooltips.html b/applications/auto-scale/gui/src/vendor/Chart.js/samples/line-customTooltips.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/Chart.js/samples/line-customTooltips.html
rename to applications/auto-scale/gui/src/vendor/Chart.js/samples/line-customTooltips.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/Chart.js/samples/line.html b/applications/auto-scale/gui/src/vendor/Chart.js/samples/line.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/Chart.js/samples/line.html
rename to applications/auto-scale/gui/src/vendor/Chart.js/samples/line.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/Chart.js/samples/pie-customTooltips.html b/applications/auto-scale/gui/src/vendor/Chart.js/samples/pie-customTooltips.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/Chart.js/samples/pie-customTooltips.html
rename to applications/auto-scale/gui/src/vendor/Chart.js/samples/pie-customTooltips.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/Chart.js/samples/pie.html b/applications/auto-scale/gui/src/vendor/Chart.js/samples/pie.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/Chart.js/samples/pie.html
rename to applications/auto-scale/gui/src/vendor/Chart.js/samples/pie.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/Chart.js/samples/polar-area.html b/applications/auto-scale/gui/src/vendor/Chart.js/samples/polar-area.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/Chart.js/samples/polar-area.html
rename to applications/auto-scale/gui/src/vendor/Chart.js/samples/polar-area.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/Chart.js/samples/radar.html b/applications/auto-scale/gui/src/vendor/Chart.js/samples/radar.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/Chart.js/samples/radar.html
rename to applications/auto-scale/gui/src/vendor/Chart.js/samples/radar.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/Chart.js/src/Chart.Bar.js b/applications/auto-scale/gui/src/vendor/Chart.js/src/Chart.Bar.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/Chart.js/src/Chart.Bar.js
rename to applications/auto-scale/gui/src/vendor/Chart.js/src/Chart.Bar.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/Chart.js/src/Chart.Core.js b/applications/auto-scale/gui/src/vendor/Chart.js/src/Chart.Core.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/Chart.js/src/Chart.Core.js
rename to applications/auto-scale/gui/src/vendor/Chart.js/src/Chart.Core.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/Chart.js/src/Chart.Doughnut.js b/applications/auto-scale/gui/src/vendor/Chart.js/src/Chart.Doughnut.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/Chart.js/src/Chart.Doughnut.js
rename to applications/auto-scale/gui/src/vendor/Chart.js/src/Chart.Doughnut.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/Chart.js/src/Chart.Line.js b/applications/auto-scale/gui/src/vendor/Chart.js/src/Chart.Line.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/Chart.js/src/Chart.Line.js
rename to applications/auto-scale/gui/src/vendor/Chart.js/src/Chart.Line.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/Chart.js/src/Chart.PolarArea.js b/applications/auto-scale/gui/src/vendor/Chart.js/src/Chart.PolarArea.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/Chart.js/src/Chart.PolarArea.js
rename to applications/auto-scale/gui/src/vendor/Chart.js/src/Chart.PolarArea.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/Chart.js/src/Chart.Radar.js b/applications/auto-scale/gui/src/vendor/Chart.js/src/Chart.Radar.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/Chart.js/src/Chart.Radar.js
rename to applications/auto-scale/gui/src/vendor/Chart.js/src/Chart.Radar.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-animate/.bower.json b/applications/auto-scale/gui/src/vendor/angular-animate/.bower.json
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-animate/.bower.json
rename to applications/auto-scale/gui/src/vendor/angular-animate/.bower.json
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-animate/README.md b/applications/auto-scale/gui/src/vendor/angular-animate/README.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-animate/README.md
rename to applications/auto-scale/gui/src/vendor/angular-animate/README.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-animate/angular-animate.js b/applications/auto-scale/gui/src/vendor/angular-animate/angular-animate.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-animate/angular-animate.js
rename to applications/auto-scale/gui/src/vendor/angular-animate/angular-animate.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-animate/angular-animate.min.js b/applications/auto-scale/gui/src/vendor/angular-animate/angular-animate.min.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-animate/angular-animate.min.js
rename to applications/auto-scale/gui/src/vendor/angular-animate/angular-animate.min.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-animate/angular-animate.min.js.map b/applications/auto-scale/gui/src/vendor/angular-animate/angular-animate.min.js.map
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-animate/angular-animate.min.js.map
rename to applications/auto-scale/gui/src/vendor/angular-animate/angular-animate.min.js.map
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-animate/bower.json b/applications/auto-scale/gui/src/vendor/angular-animate/bower.json
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-animate/bower.json
rename to applications/auto-scale/gui/src/vendor/angular-animate/bower.json
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-animate/index.js b/applications/auto-scale/gui/src/vendor/angular-animate/index.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-animate/index.js
rename to applications/auto-scale/gui/src/vendor/angular-animate/index.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-animate/package.json b/applications/auto-scale/gui/src/vendor/angular-animate/package.json
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-animate/package.json
rename to applications/auto-scale/gui/src/vendor/angular-animate/package.json
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-chart.js/.bower.json b/applications/auto-scale/gui/src/vendor/angular-chart.js/.bower.json
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-chart.js/.bower.json
rename to applications/auto-scale/gui/src/vendor/angular-chart.js/.bower.json
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-chart.js/LICENSE b/applications/auto-scale/gui/src/vendor/angular-chart.js/LICENSE
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-chart.js/LICENSE
rename to applications/auto-scale/gui/src/vendor/angular-chart.js/LICENSE
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-chart.js/README.md b/applications/auto-scale/gui/src/vendor/angular-chart.js/README.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-chart.js/README.md
rename to applications/auto-scale/gui/src/vendor/angular-chart.js/README.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-chart.js/angular-chart.js b/applications/auto-scale/gui/src/vendor/angular-chart.js/angular-chart.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-chart.js/angular-chart.js
rename to applications/auto-scale/gui/src/vendor/angular-chart.js/angular-chart.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-chart.js/angular-chart.less b/applications/auto-scale/gui/src/vendor/angular-chart.js/angular-chart.less
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-chart.js/angular-chart.less
rename to applications/auto-scale/gui/src/vendor/angular-chart.js/angular-chart.less
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-chart.js/bower.json b/applications/auto-scale/gui/src/vendor/angular-chart.js/bower.json
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-chart.js/bower.json
rename to applications/auto-scale/gui/src/vendor/angular-chart.js/bower.json
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-chart.js/gulpfile.js b/applications/auto-scale/gui/src/vendor/angular-chart.js/gulpfile.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-chart.js/gulpfile.js
rename to applications/auto-scale/gui/src/vendor/angular-chart.js/gulpfile.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-chart.js/package.json b/applications/auto-scale/gui/src/vendor/angular-chart.js/package.json
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-chart.js/package.json
rename to applications/auto-scale/gui/src/vendor/angular-chart.js/package.json
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-mocks/.bower.json b/applications/auto-scale/gui/src/vendor/angular-mocks/.bower.json
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-mocks/.bower.json
rename to applications/auto-scale/gui/src/vendor/angular-mocks/.bower.json
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-mocks/README.md b/applications/auto-scale/gui/src/vendor/angular-mocks/README.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-mocks/README.md
rename to applications/auto-scale/gui/src/vendor/angular-mocks/README.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-mocks/angular-mocks.js b/applications/auto-scale/gui/src/vendor/angular-mocks/angular-mocks.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-mocks/angular-mocks.js
rename to applications/auto-scale/gui/src/vendor/angular-mocks/angular-mocks.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-mocks/bower.json b/applications/auto-scale/gui/src/vendor/angular-mocks/bower.json
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-mocks/bower.json
rename to applications/auto-scale/gui/src/vendor/angular-mocks/bower.json
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-mocks/ngAnimateMock.js b/applications/auto-scale/gui/src/vendor/angular-mocks/ngAnimateMock.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-mocks/ngAnimateMock.js
rename to applications/auto-scale/gui/src/vendor/angular-mocks/ngAnimateMock.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-mocks/ngMock.js b/applications/auto-scale/gui/src/vendor/angular-mocks/ngMock.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-mocks/ngMock.js
rename to applications/auto-scale/gui/src/vendor/angular-mocks/ngMock.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-mocks/ngMockE2E.js b/applications/auto-scale/gui/src/vendor/angular-mocks/ngMockE2E.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-mocks/ngMockE2E.js
rename to applications/auto-scale/gui/src/vendor/angular-mocks/ngMockE2E.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-mocks/package.json b/applications/auto-scale/gui/src/vendor/angular-mocks/package.json
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-mocks/package.json
rename to applications/auto-scale/gui/src/vendor/angular-mocks/package.json
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-ui-router/.bower.json b/applications/auto-scale/gui/src/vendor/angular-ui-router/.bower.json
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-ui-router/.bower.json
rename to applications/auto-scale/gui/src/vendor/angular-ui-router/.bower.json
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-ui-router/CHANGELOG.md b/applications/auto-scale/gui/src/vendor/angular-ui-router/CHANGELOG.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-ui-router/CHANGELOG.md
rename to applications/auto-scale/gui/src/vendor/angular-ui-router/CHANGELOG.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-ui-router/CONTRIBUTING.md b/applications/auto-scale/gui/src/vendor/angular-ui-router/CONTRIBUTING.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-ui-router/CONTRIBUTING.md
rename to applications/auto-scale/gui/src/vendor/angular-ui-router/CONTRIBUTING.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-ui-router/LICENSE b/applications/auto-scale/gui/src/vendor/angular-ui-router/LICENSE
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-ui-router/LICENSE
rename to applications/auto-scale/gui/src/vendor/angular-ui-router/LICENSE
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-ui-router/README.md b/applications/auto-scale/gui/src/vendor/angular-ui-router/README.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-ui-router/README.md
rename to applications/auto-scale/gui/src/vendor/angular-ui-router/README.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-ui-router/api/angular-ui-router.d.ts b/applications/auto-scale/gui/src/vendor/angular-ui-router/api/angular-ui-router.d.ts
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-ui-router/api/angular-ui-router.d.ts
rename to applications/auto-scale/gui/src/vendor/angular-ui-router/api/angular-ui-router.d.ts
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-ui-router/bower.json b/applications/auto-scale/gui/src/vendor/angular-ui-router/bower.json
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-ui-router/bower.json
rename to applications/auto-scale/gui/src/vendor/angular-ui-router/bower.json
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-ui-router/release/angular-ui-router.js b/applications/auto-scale/gui/src/vendor/angular-ui-router/release/angular-ui-router.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-ui-router/release/angular-ui-router.js
rename to applications/auto-scale/gui/src/vendor/angular-ui-router/release/angular-ui-router.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-ui-router/release/angular-ui-router.min.js b/applications/auto-scale/gui/src/vendor/angular-ui-router/release/angular-ui-router.min.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-ui-router/release/angular-ui-router.min.js
rename to applications/auto-scale/gui/src/vendor/angular-ui-router/release/angular-ui-router.min.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-ui-router/src/common.js b/applications/auto-scale/gui/src/vendor/angular-ui-router/src/common.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-ui-router/src/common.js
rename to applications/auto-scale/gui/src/vendor/angular-ui-router/src/common.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-ui-router/src/resolve.js b/applications/auto-scale/gui/src/vendor/angular-ui-router/src/resolve.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-ui-router/src/resolve.js
rename to applications/auto-scale/gui/src/vendor/angular-ui-router/src/resolve.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-ui-router/src/state.js b/applications/auto-scale/gui/src/vendor/angular-ui-router/src/state.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-ui-router/src/state.js
rename to applications/auto-scale/gui/src/vendor/angular-ui-router/src/state.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-ui-router/src/stateDirectives.js b/applications/auto-scale/gui/src/vendor/angular-ui-router/src/stateDirectives.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-ui-router/src/stateDirectives.js
rename to applications/auto-scale/gui/src/vendor/angular-ui-router/src/stateDirectives.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-ui-router/src/stateFilters.js b/applications/auto-scale/gui/src/vendor/angular-ui-router/src/stateFilters.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-ui-router/src/stateFilters.js
rename to applications/auto-scale/gui/src/vendor/angular-ui-router/src/stateFilters.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-ui-router/src/templateFactory.js b/applications/auto-scale/gui/src/vendor/angular-ui-router/src/templateFactory.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-ui-router/src/templateFactory.js
rename to applications/auto-scale/gui/src/vendor/angular-ui-router/src/templateFactory.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-ui-router/src/urlMatcherFactory.js b/applications/auto-scale/gui/src/vendor/angular-ui-router/src/urlMatcherFactory.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-ui-router/src/urlMatcherFactory.js
rename to applications/auto-scale/gui/src/vendor/angular-ui-router/src/urlMatcherFactory.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-ui-router/src/urlRouter.js b/applications/auto-scale/gui/src/vendor/angular-ui-router/src/urlRouter.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-ui-router/src/urlRouter.js
rename to applications/auto-scale/gui/src/vendor/angular-ui-router/src/urlRouter.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-ui-router/src/view.js b/applications/auto-scale/gui/src/vendor/angular-ui-router/src/view.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-ui-router/src/view.js
rename to applications/auto-scale/gui/src/vendor/angular-ui-router/src/view.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-ui-router/src/viewDirective.js b/applications/auto-scale/gui/src/vendor/angular-ui-router/src/viewDirective.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-ui-router/src/viewDirective.js
rename to applications/auto-scale/gui/src/vendor/angular-ui-router/src/viewDirective.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular-ui-router/src/viewScroll.js b/applications/auto-scale/gui/src/vendor/angular-ui-router/src/viewScroll.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular-ui-router/src/viewScroll.js
rename to applications/auto-scale/gui/src/vendor/angular-ui-router/src/viewScroll.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular/.bower.json b/applications/auto-scale/gui/src/vendor/angular/.bower.json
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular/.bower.json
rename to applications/auto-scale/gui/src/vendor/angular/.bower.json
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular/README.md b/applications/auto-scale/gui/src/vendor/angular/README.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular/README.md
rename to applications/auto-scale/gui/src/vendor/angular/README.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular/angular-csp.css b/applications/auto-scale/gui/src/vendor/angular/angular-csp.css
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular/angular-csp.css
rename to applications/auto-scale/gui/src/vendor/angular/angular-csp.css
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular/angular.js b/applications/auto-scale/gui/src/vendor/angular/angular.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular/angular.js
rename to applications/auto-scale/gui/src/vendor/angular/angular.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular/angular.min.js b/applications/auto-scale/gui/src/vendor/angular/angular.min.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular/angular.min.js
rename to applications/auto-scale/gui/src/vendor/angular/angular.min.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular/angular.min.js.gzip b/applications/auto-scale/gui/src/vendor/angular/angular.min.js.gzip
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular/angular.min.js.gzip
rename to applications/auto-scale/gui/src/vendor/angular/angular.min.js.gzip
Binary files differ
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular/angular.min.js.map b/applications/auto-scale/gui/src/vendor/angular/angular.min.js.map
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular/angular.min.js.map
rename to applications/auto-scale/gui/src/vendor/angular/angular.min.js.map
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular/bower.json b/applications/auto-scale/gui/src/vendor/angular/bower.json
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular/bower.json
rename to applications/auto-scale/gui/src/vendor/angular/bower.json
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular/index.js b/applications/auto-scale/gui/src/vendor/angular/index.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular/index.js
rename to applications/auto-scale/gui/src/vendor/angular/index.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/angular/package.json b/applications/auto-scale/gui/src/vendor/angular/package.json
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/angular/package.json
rename to applications/auto-scale/gui/src/vendor/angular/package.json
diff --git a/xos-apps/auto-scale/gui/src/vendor/bootstrap-css/.bower.json b/applications/auto-scale/gui/src/vendor/bootstrap-css/.bower.json
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/bootstrap-css/.bower.json
rename to applications/auto-scale/gui/src/vendor/bootstrap-css/.bower.json
diff --git a/xos-apps/auto-scale/gui/src/vendor/bootstrap-css/LICENSE b/applications/auto-scale/gui/src/vendor/bootstrap-css/LICENSE
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/bootstrap-css/LICENSE
rename to applications/auto-scale/gui/src/vendor/bootstrap-css/LICENSE
diff --git a/xos-apps/auto-scale/gui/src/vendor/bootstrap-css/README.md b/applications/auto-scale/gui/src/vendor/bootstrap-css/README.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/bootstrap-css/README.md
rename to applications/auto-scale/gui/src/vendor/bootstrap-css/README.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/bootstrap-css/bower.json b/applications/auto-scale/gui/src/vendor/bootstrap-css/bower.json
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/bootstrap-css/bower.json
rename to applications/auto-scale/gui/src/vendor/bootstrap-css/bower.json
diff --git a/xos-apps/auto-scale/gui/src/vendor/bootstrap-css/css/bootstrap-theme.css b/applications/auto-scale/gui/src/vendor/bootstrap-css/css/bootstrap-theme.css
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/bootstrap-css/css/bootstrap-theme.css
rename to applications/auto-scale/gui/src/vendor/bootstrap-css/css/bootstrap-theme.css
diff --git a/xos-apps/auto-scale/gui/src/vendor/bootstrap-css/css/bootstrap-theme.css.map b/applications/auto-scale/gui/src/vendor/bootstrap-css/css/bootstrap-theme.css.map
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/bootstrap-css/css/bootstrap-theme.css.map
rename to applications/auto-scale/gui/src/vendor/bootstrap-css/css/bootstrap-theme.css.map
diff --git a/xos-apps/auto-scale/gui/src/vendor/bootstrap-css/css/bootstrap-theme.min.css b/applications/auto-scale/gui/src/vendor/bootstrap-css/css/bootstrap-theme.min.css
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/bootstrap-css/css/bootstrap-theme.min.css
rename to applications/auto-scale/gui/src/vendor/bootstrap-css/css/bootstrap-theme.min.css
diff --git a/xos-apps/auto-scale/gui/src/vendor/bootstrap-css/css/bootstrap.css b/applications/auto-scale/gui/src/vendor/bootstrap-css/css/bootstrap.css
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/bootstrap-css/css/bootstrap.css
rename to applications/auto-scale/gui/src/vendor/bootstrap-css/css/bootstrap.css
diff --git a/xos-apps/auto-scale/gui/src/vendor/bootstrap-css/css/bootstrap.css.map b/applications/auto-scale/gui/src/vendor/bootstrap-css/css/bootstrap.css.map
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/bootstrap-css/css/bootstrap.css.map
rename to applications/auto-scale/gui/src/vendor/bootstrap-css/css/bootstrap.css.map
diff --git a/xos-apps/auto-scale/gui/src/vendor/bootstrap-css/css/bootstrap.min.css b/applications/auto-scale/gui/src/vendor/bootstrap-css/css/bootstrap.min.css
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/bootstrap-css/css/bootstrap.min.css
rename to applications/auto-scale/gui/src/vendor/bootstrap-css/css/bootstrap.min.css
diff --git a/xos-apps/auto-scale/gui/src/vendor/bootstrap-css/fonts/glyphicons-halflings-regular.eot b/applications/auto-scale/gui/src/vendor/bootstrap-css/fonts/glyphicons-halflings-regular.eot
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/bootstrap-css/fonts/glyphicons-halflings-regular.eot
rename to applications/auto-scale/gui/src/vendor/bootstrap-css/fonts/glyphicons-halflings-regular.eot
Binary files differ
diff --git a/xos-apps/auto-scale/gui/src/vendor/bootstrap-css/fonts/glyphicons-halflings-regular.svg b/applications/auto-scale/gui/src/vendor/bootstrap-css/fonts/glyphicons-halflings-regular.svg
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/bootstrap-css/fonts/glyphicons-halflings-regular.svg
rename to applications/auto-scale/gui/src/vendor/bootstrap-css/fonts/glyphicons-halflings-regular.svg
diff --git a/xos-apps/auto-scale/gui/src/vendor/bootstrap-css/fonts/glyphicons-halflings-regular.ttf b/applications/auto-scale/gui/src/vendor/bootstrap-css/fonts/glyphicons-halflings-regular.ttf
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/bootstrap-css/fonts/glyphicons-halflings-regular.ttf
rename to applications/auto-scale/gui/src/vendor/bootstrap-css/fonts/glyphicons-halflings-regular.ttf
Binary files differ
diff --git a/xos-apps/auto-scale/gui/src/vendor/bootstrap-css/fonts/glyphicons-halflings-regular.woff b/applications/auto-scale/gui/src/vendor/bootstrap-css/fonts/glyphicons-halflings-regular.woff
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/bootstrap-css/fonts/glyphicons-halflings-regular.woff
rename to applications/auto-scale/gui/src/vendor/bootstrap-css/fonts/glyphicons-halflings-regular.woff
Binary files differ
diff --git a/xos-apps/auto-scale/gui/src/vendor/bootstrap-css/fonts/glyphicons-halflings-regular.woff2 b/applications/auto-scale/gui/src/vendor/bootstrap-css/fonts/glyphicons-halflings-regular.woff2
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/bootstrap-css/fonts/glyphicons-halflings-regular.woff2
rename to applications/auto-scale/gui/src/vendor/bootstrap-css/fonts/glyphicons-halflings-regular.woff2
Binary files differ
diff --git a/xos-apps/auto-scale/gui/src/vendor/bootstrap-css/js/bootstrap.js b/applications/auto-scale/gui/src/vendor/bootstrap-css/js/bootstrap.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/bootstrap-css/js/bootstrap.js
rename to applications/auto-scale/gui/src/vendor/bootstrap-css/js/bootstrap.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/bootstrap-css/js/bootstrap.min.js b/applications/auto-scale/gui/src/vendor/bootstrap-css/js/bootstrap.min.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/bootstrap-css/js/bootstrap.min.js
rename to applications/auto-scale/gui/src/vendor/bootstrap-css/js/bootstrap.min.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/.bower.json b/applications/auto-scale/gui/src/vendor/jquery/.bower.json
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/.bower.json
rename to applications/auto-scale/gui/src/vendor/jquery/.bower.json
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/MIT-LICENSE.txt b/applications/auto-scale/gui/src/vendor/jquery/MIT-LICENSE.txt
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/MIT-LICENSE.txt
rename to applications/auto-scale/gui/src/vendor/jquery/MIT-LICENSE.txt
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/bower.json b/applications/auto-scale/gui/src/vendor/jquery/bower.json
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/bower.json
rename to applications/auto-scale/gui/src/vendor/jquery/bower.json
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/ajax.js b/applications/auto-scale/gui/src/vendor/jquery/src/ajax.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/ajax.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/ajax.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/ajax/jsonp.js b/applications/auto-scale/gui/src/vendor/jquery/src/ajax/jsonp.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/ajax/jsonp.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/ajax/jsonp.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/ajax/load.js b/applications/auto-scale/gui/src/vendor/jquery/src/ajax/load.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/ajax/load.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/ajax/load.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/ajax/parseJSON.js b/applications/auto-scale/gui/src/vendor/jquery/src/ajax/parseJSON.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/ajax/parseJSON.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/ajax/parseJSON.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/ajax/parseXML.js b/applications/auto-scale/gui/src/vendor/jquery/src/ajax/parseXML.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/ajax/parseXML.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/ajax/parseXML.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/ajax/script.js b/applications/auto-scale/gui/src/vendor/jquery/src/ajax/script.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/ajax/script.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/ajax/script.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/ajax/var/nonce.js b/applications/auto-scale/gui/src/vendor/jquery/src/ajax/var/nonce.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/ajax/var/nonce.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/ajax/var/nonce.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/ajax/var/rquery.js b/applications/auto-scale/gui/src/vendor/jquery/src/ajax/var/rquery.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/ajax/var/rquery.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/ajax/var/rquery.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/ajax/xhr.js b/applications/auto-scale/gui/src/vendor/jquery/src/ajax/xhr.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/ajax/xhr.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/ajax/xhr.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/attributes.js b/applications/auto-scale/gui/src/vendor/jquery/src/attributes.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/attributes.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/attributes.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/attributes/attr.js b/applications/auto-scale/gui/src/vendor/jquery/src/attributes/attr.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/attributes/attr.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/attributes/attr.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/attributes/classes.js b/applications/auto-scale/gui/src/vendor/jquery/src/attributes/classes.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/attributes/classes.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/attributes/classes.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/attributes/prop.js b/applications/auto-scale/gui/src/vendor/jquery/src/attributes/prop.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/attributes/prop.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/attributes/prop.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/attributes/support.js b/applications/auto-scale/gui/src/vendor/jquery/src/attributes/support.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/attributes/support.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/attributes/support.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/attributes/val.js b/applications/auto-scale/gui/src/vendor/jquery/src/attributes/val.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/attributes/val.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/attributes/val.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/callbacks.js b/applications/auto-scale/gui/src/vendor/jquery/src/callbacks.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/callbacks.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/callbacks.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/core.js b/applications/auto-scale/gui/src/vendor/jquery/src/core.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/core.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/core.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/core/access.js b/applications/auto-scale/gui/src/vendor/jquery/src/core/access.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/core/access.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/core/access.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/core/init.js b/applications/auto-scale/gui/src/vendor/jquery/src/core/init.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/core/init.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/core/init.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/core/parseHTML.js b/applications/auto-scale/gui/src/vendor/jquery/src/core/parseHTML.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/core/parseHTML.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/core/parseHTML.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/core/ready.js b/applications/auto-scale/gui/src/vendor/jquery/src/core/ready.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/core/ready.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/core/ready.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/core/var/rsingleTag.js b/applications/auto-scale/gui/src/vendor/jquery/src/core/var/rsingleTag.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/core/var/rsingleTag.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/core/var/rsingleTag.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/css.js b/applications/auto-scale/gui/src/vendor/jquery/src/css.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/css.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/css.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/css/addGetHookIf.js b/applications/auto-scale/gui/src/vendor/jquery/src/css/addGetHookIf.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/css/addGetHookIf.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/css/addGetHookIf.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/css/curCSS.js b/applications/auto-scale/gui/src/vendor/jquery/src/css/curCSS.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/css/curCSS.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/css/curCSS.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/css/defaultDisplay.js b/applications/auto-scale/gui/src/vendor/jquery/src/css/defaultDisplay.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/css/defaultDisplay.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/css/defaultDisplay.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/css/hiddenVisibleSelectors.js b/applications/auto-scale/gui/src/vendor/jquery/src/css/hiddenVisibleSelectors.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/css/hiddenVisibleSelectors.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/css/hiddenVisibleSelectors.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/css/support.js b/applications/auto-scale/gui/src/vendor/jquery/src/css/support.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/css/support.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/css/support.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/css/swap.js b/applications/auto-scale/gui/src/vendor/jquery/src/css/swap.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/css/swap.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/css/swap.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/css/var/cssExpand.js b/applications/auto-scale/gui/src/vendor/jquery/src/css/var/cssExpand.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/css/var/cssExpand.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/css/var/cssExpand.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/css/var/getStyles.js b/applications/auto-scale/gui/src/vendor/jquery/src/css/var/getStyles.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/css/var/getStyles.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/css/var/getStyles.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/css/var/isHidden.js b/applications/auto-scale/gui/src/vendor/jquery/src/css/var/isHidden.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/css/var/isHidden.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/css/var/isHidden.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/css/var/rmargin.js b/applications/auto-scale/gui/src/vendor/jquery/src/css/var/rmargin.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/css/var/rmargin.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/css/var/rmargin.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/css/var/rnumnonpx.js b/applications/auto-scale/gui/src/vendor/jquery/src/css/var/rnumnonpx.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/css/var/rnumnonpx.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/css/var/rnumnonpx.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/data.js b/applications/auto-scale/gui/src/vendor/jquery/src/data.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/data.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/data.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/data/Data.js b/applications/auto-scale/gui/src/vendor/jquery/src/data/Data.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/data/Data.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/data/Data.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/data/accepts.js b/applications/auto-scale/gui/src/vendor/jquery/src/data/accepts.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/data/accepts.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/data/accepts.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/data/var/data_priv.js b/applications/auto-scale/gui/src/vendor/jquery/src/data/var/data_priv.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/data/var/data_priv.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/data/var/data_priv.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/data/var/data_user.js b/applications/auto-scale/gui/src/vendor/jquery/src/data/var/data_user.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/data/var/data_user.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/data/var/data_user.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/deferred.js b/applications/auto-scale/gui/src/vendor/jquery/src/deferred.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/deferred.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/deferred.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/deprecated.js b/applications/auto-scale/gui/src/vendor/jquery/src/deprecated.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/deprecated.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/deprecated.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/dimensions.js b/applications/auto-scale/gui/src/vendor/jquery/src/dimensions.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/dimensions.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/dimensions.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/effects.js b/applications/auto-scale/gui/src/vendor/jquery/src/effects.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/effects.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/effects.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/effects/Tween.js b/applications/auto-scale/gui/src/vendor/jquery/src/effects/Tween.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/effects/Tween.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/effects/Tween.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/effects/animatedSelector.js b/applications/auto-scale/gui/src/vendor/jquery/src/effects/animatedSelector.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/effects/animatedSelector.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/effects/animatedSelector.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/event.js b/applications/auto-scale/gui/src/vendor/jquery/src/event.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/event.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/event.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/event/ajax.js b/applications/auto-scale/gui/src/vendor/jquery/src/event/ajax.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/event/ajax.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/event/ajax.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/event/alias.js b/applications/auto-scale/gui/src/vendor/jquery/src/event/alias.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/event/alias.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/event/alias.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/event/support.js b/applications/auto-scale/gui/src/vendor/jquery/src/event/support.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/event/support.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/event/support.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/exports/amd.js b/applications/auto-scale/gui/src/vendor/jquery/src/exports/amd.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/exports/amd.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/exports/amd.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/exports/global.js b/applications/auto-scale/gui/src/vendor/jquery/src/exports/global.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/exports/global.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/exports/global.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/intro.js b/applications/auto-scale/gui/src/vendor/jquery/src/intro.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/intro.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/intro.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/jquery.js b/applications/auto-scale/gui/src/vendor/jquery/src/jquery.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/jquery.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/jquery.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/manipulation.js b/applications/auto-scale/gui/src/vendor/jquery/src/manipulation.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/manipulation.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/manipulation.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/manipulation/_evalUrl.js b/applications/auto-scale/gui/src/vendor/jquery/src/manipulation/_evalUrl.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/manipulation/_evalUrl.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/manipulation/_evalUrl.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/manipulation/support.js b/applications/auto-scale/gui/src/vendor/jquery/src/manipulation/support.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/manipulation/support.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/manipulation/support.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/manipulation/var/rcheckableType.js b/applications/auto-scale/gui/src/vendor/jquery/src/manipulation/var/rcheckableType.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/manipulation/var/rcheckableType.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/manipulation/var/rcheckableType.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/offset.js b/applications/auto-scale/gui/src/vendor/jquery/src/offset.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/offset.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/offset.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/outro.js b/applications/auto-scale/gui/src/vendor/jquery/src/outro.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/outro.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/outro.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/queue.js b/applications/auto-scale/gui/src/vendor/jquery/src/queue.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/queue.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/queue.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/queue/delay.js b/applications/auto-scale/gui/src/vendor/jquery/src/queue/delay.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/queue/delay.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/queue/delay.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/selector-native.js b/applications/auto-scale/gui/src/vendor/jquery/src/selector-native.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/selector-native.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/selector-native.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/selector-sizzle.js b/applications/auto-scale/gui/src/vendor/jquery/src/selector-sizzle.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/selector-sizzle.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/selector-sizzle.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/selector.js b/applications/auto-scale/gui/src/vendor/jquery/src/selector.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/selector.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/selector.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/serialize.js b/applications/auto-scale/gui/src/vendor/jquery/src/serialize.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/serialize.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/serialize.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/traversing.js b/applications/auto-scale/gui/src/vendor/jquery/src/traversing.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/traversing.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/traversing.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/traversing/findFilter.js b/applications/auto-scale/gui/src/vendor/jquery/src/traversing/findFilter.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/traversing/findFilter.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/traversing/findFilter.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/traversing/var/rneedsContext.js b/applications/auto-scale/gui/src/vendor/jquery/src/traversing/var/rneedsContext.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/traversing/var/rneedsContext.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/traversing/var/rneedsContext.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/var/arr.js b/applications/auto-scale/gui/src/vendor/jquery/src/var/arr.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/var/arr.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/var/arr.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/var/class2type.js b/applications/auto-scale/gui/src/vendor/jquery/src/var/class2type.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/var/class2type.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/var/class2type.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/var/concat.js b/applications/auto-scale/gui/src/vendor/jquery/src/var/concat.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/var/concat.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/var/concat.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/var/hasOwn.js b/applications/auto-scale/gui/src/vendor/jquery/src/var/hasOwn.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/var/hasOwn.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/var/hasOwn.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/var/indexOf.js b/applications/auto-scale/gui/src/vendor/jquery/src/var/indexOf.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/var/indexOf.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/var/indexOf.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/var/pnum.js b/applications/auto-scale/gui/src/vendor/jquery/src/var/pnum.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/var/pnum.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/var/pnum.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/var/push.js b/applications/auto-scale/gui/src/vendor/jquery/src/var/push.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/var/push.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/var/push.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/var/rnotwhite.js b/applications/auto-scale/gui/src/vendor/jquery/src/var/rnotwhite.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/var/rnotwhite.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/var/rnotwhite.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/var/slice.js b/applications/auto-scale/gui/src/vendor/jquery/src/var/slice.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/var/slice.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/var/slice.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/var/strundefined.js b/applications/auto-scale/gui/src/vendor/jquery/src/var/strundefined.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/var/strundefined.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/var/strundefined.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/var/support.js b/applications/auto-scale/gui/src/vendor/jquery/src/var/support.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/var/support.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/var/support.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/var/toString.js b/applications/auto-scale/gui/src/vendor/jquery/src/var/toString.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/var/toString.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/var/toString.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/jquery/src/wrap.js b/applications/auto-scale/gui/src/vendor/jquery/src/wrap.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/jquery/src/wrap.js
rename to applications/auto-scale/gui/src/vendor/jquery/src/wrap.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ng-lodash/.bower.json b/applications/auto-scale/gui/src/vendor/ng-lodash/.bower.json
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ng-lodash/.bower.json
rename to applications/auto-scale/gui/src/vendor/ng-lodash/.bower.json
diff --git a/xos-apps/auto-scale/gui/src/vendor/ng-lodash/.bowerrc b/applications/auto-scale/gui/src/vendor/ng-lodash/.bowerrc
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ng-lodash/.bowerrc
rename to applications/auto-scale/gui/src/vendor/ng-lodash/.bowerrc
diff --git a/xos-apps/auto-scale/gui/src/vendor/ng-lodash/.editorconfig b/applications/auto-scale/gui/src/vendor/ng-lodash/.editorconfig
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ng-lodash/.editorconfig
rename to applications/auto-scale/gui/src/vendor/ng-lodash/.editorconfig
diff --git a/xos-apps/auto-scale/gui/src/vendor/ng-lodash/.gitignore b/applications/auto-scale/gui/src/vendor/ng-lodash/.gitignore
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ng-lodash/.gitignore
rename to applications/auto-scale/gui/src/vendor/ng-lodash/.gitignore
diff --git a/xos-apps/auto-scale/gui/src/vendor/ng-lodash/.jscsrc b/applications/auto-scale/gui/src/vendor/ng-lodash/.jscsrc
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ng-lodash/.jscsrc
rename to applications/auto-scale/gui/src/vendor/ng-lodash/.jscsrc
diff --git a/xos-apps/auto-scale/gui/src/vendor/ng-lodash/.jshintrc b/applications/auto-scale/gui/src/vendor/ng-lodash/.jshintrc
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ng-lodash/.jshintrc
rename to applications/auto-scale/gui/src/vendor/ng-lodash/.jshintrc
diff --git a/xos-apps/auto-scale/gui/src/vendor/ng-lodash/.travis.yml b/applications/auto-scale/gui/src/vendor/ng-lodash/.travis.yml
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ng-lodash/.travis.yml
rename to applications/auto-scale/gui/src/vendor/ng-lodash/.travis.yml
diff --git a/xos-apps/auto-scale/gui/src/vendor/ng-lodash/CONTRIBUTING.md b/applications/auto-scale/gui/src/vendor/ng-lodash/CONTRIBUTING.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ng-lodash/CONTRIBUTING.md
rename to applications/auto-scale/gui/src/vendor/ng-lodash/CONTRIBUTING.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/ng-lodash/License.txt b/applications/auto-scale/gui/src/vendor/ng-lodash/License.txt
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ng-lodash/License.txt
rename to applications/auto-scale/gui/src/vendor/ng-lodash/License.txt
diff --git a/xos-apps/auto-scale/gui/src/vendor/ng-lodash/README.md b/applications/auto-scale/gui/src/vendor/ng-lodash/README.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ng-lodash/README.md
rename to applications/auto-scale/gui/src/vendor/ng-lodash/README.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/ng-lodash/bower.json b/applications/auto-scale/gui/src/vendor/ng-lodash/bower.json
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ng-lodash/bower.json
rename to applications/auto-scale/gui/src/vendor/ng-lodash/bower.json
diff --git a/xos-apps/auto-scale/gui/src/vendor/ng-lodash/build/ng-lodash.js b/applications/auto-scale/gui/src/vendor/ng-lodash/build/ng-lodash.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ng-lodash/build/ng-lodash.js
rename to applications/auto-scale/gui/src/vendor/ng-lodash/build/ng-lodash.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ng-lodash/build/ng-lodash.min.js b/applications/auto-scale/gui/src/vendor/ng-lodash/build/ng-lodash.min.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ng-lodash/build/ng-lodash.min.js
rename to applications/auto-scale/gui/src/vendor/ng-lodash/build/ng-lodash.min.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ng-lodash/package.json b/applications/auto-scale/gui/src/vendor/ng-lodash/package.json
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ng-lodash/package.json
rename to applications/auto-scale/gui/src/vendor/ng-lodash/package.json
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/.bower.json b/applications/auto-scale/gui/src/vendor/ui.bootstrap/.bower.json
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/.bower.json
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/.bower.json
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/.editorconfig b/applications/auto-scale/gui/src/vendor/ui.bootstrap/.editorconfig
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/.editorconfig
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/.editorconfig
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/.gitattributes b/applications/auto-scale/gui/src/vendor/ui.bootstrap/.gitattributes
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/.gitattributes
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/.gitattributes
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/.gitignore b/applications/auto-scale/gui/src/vendor/ui.bootstrap/.gitignore
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/.gitignore
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/.gitignore
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/.jshintrc b/applications/auto-scale/gui/src/vendor/ui.bootstrap/.jshintrc
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/.jshintrc
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/.jshintrc
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/.npmignore b/applications/auto-scale/gui/src/vendor/ui.bootstrap/.npmignore
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/.npmignore
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/.npmignore
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/.travis.yml b/applications/auto-scale/gui/src/vendor/ui.bootstrap/.travis.yml
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/.travis.yml
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/.travis.yml
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/CHANGELOG.md b/applications/auto-scale/gui/src/vendor/ui.bootstrap/CHANGELOG.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/CHANGELOG.md
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/CHANGELOG.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/CODE_OF_CONDUCT.md b/applications/auto-scale/gui/src/vendor/ui.bootstrap/CODE_OF_CONDUCT.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/CODE_OF_CONDUCT.md
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/CODE_OF_CONDUCT.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/CONTRIBUTING.md b/applications/auto-scale/gui/src/vendor/ui.bootstrap/CONTRIBUTING.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/CONTRIBUTING.md
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/CONTRIBUTING.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/Gruntfile.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/Gruntfile.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/Gruntfile.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/Gruntfile.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/LICENSE b/applications/auto-scale/gui/src/vendor/ui.bootstrap/LICENSE
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/LICENSE
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/LICENSE
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/README.md b/applications/auto-scale/gui/src/vendor/ui.bootstrap/README.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/README.md
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/README.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/karma.conf.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/karma.conf.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/karma.conf.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/karma.conf.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/changelog.tpl.md b/applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/changelog.tpl.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/changelog.tpl.md
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/changelog.tpl.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/app.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/app.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/app.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/app.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/demo.css b/applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/demo.css
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/demo.css
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/demo.css
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/favicon.ico b/applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/favicon.ico
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/favicon.ico
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/favicon.ico
Binary files differ
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/github-16px.png b/applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/github-16px.png
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/github-16px.png
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/github-16px.png
Binary files differ
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/header.png b/applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/header.png
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/header.png
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/header.png
Binary files differ
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/img/glyphicons-halflings-white.png b/applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/img/glyphicons-halflings-white.png
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/img/glyphicons-halflings-white.png
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/img/glyphicons-halflings-white.png
Binary files differ
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/img/glyphicons-halflings.png b/applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/img/glyphicons-halflings.png
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/img/glyphicons-halflings.png
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/img/glyphicons-halflings.png
Binary files differ
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/plunker.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/plunker.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/plunker.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/plunker.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/rainbow-generic.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/rainbow-generic.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/rainbow-generic.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/rainbow-generic.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/rainbow-html.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/rainbow-html.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/rainbow-html.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/rainbow-html.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/rainbow-javascript.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/rainbow-javascript.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/rainbow-javascript.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/rainbow-javascript.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/rainbow.css b/applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/rainbow.css
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/rainbow.css
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/rainbow.css
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/rainbow.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/rainbow.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/rainbow.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/rainbow.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/smoothscroll-angular-custom.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/smoothscroll-angular-custom.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/smoothscroll-angular-custom.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/smoothscroll-angular-custom.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/uglifyjs.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/uglifyjs.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/uglifyjs.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/uglifyjs.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/index.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/index.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/index.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/index.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/raw-files-generator.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/raw-files-generator.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/raw-files-generator.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/raw-files-generator.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/test-lib/helpers.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/test-lib/helpers.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/test-lib/helpers.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/test-lib/helpers.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/test-lib/jquery-1.8.2.min.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/test-lib/jquery-1.8.2.min.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/test-lib/jquery-1.8.2.min.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/test-lib/jquery-1.8.2.min.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/validate-commit-msg.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/validate-commit-msg.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/validate-commit-msg.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/misc/validate-commit-msg.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/package.json b/applications/auto-scale/gui/src/vendor/ui.bootstrap/package.json
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/package.json
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/package.json
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/accordion/accordion.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/accordion/accordion.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/accordion/accordion.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/accordion/accordion.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/accordion/docs/demo.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/accordion/docs/demo.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/accordion/docs/demo.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/accordion/docs/demo.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/accordion/docs/demo.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/accordion/docs/demo.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/accordion/docs/demo.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/accordion/docs/demo.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/accordion/docs/readme.md b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/accordion/docs/readme.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/accordion/docs/readme.md
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/accordion/docs/readme.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/accordion/test/accordion.spec.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/accordion/test/accordion.spec.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/accordion/test/accordion.spec.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/accordion/test/accordion.spec.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/alert/alert.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/alert/alert.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/alert/alert.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/alert/alert.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/alert/docs/demo.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/alert/docs/demo.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/alert/docs/demo.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/alert/docs/demo.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/alert/docs/demo.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/alert/docs/demo.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/alert/docs/demo.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/alert/docs/demo.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/alert/docs/readme.md b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/alert/docs/readme.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/alert/docs/readme.md
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/alert/docs/readme.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/alert/test/alert.spec.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/alert/test/alert.spec.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/alert/test/alert.spec.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/alert/test/alert.spec.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/buttons/buttons.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/buttons/buttons.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/buttons/buttons.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/buttons/buttons.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/buttons/docs/demo.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/buttons/docs/demo.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/buttons/docs/demo.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/buttons/docs/demo.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/buttons/docs/demo.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/buttons/docs/demo.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/buttons/docs/demo.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/buttons/docs/demo.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/buttons/docs/readme.md b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/buttons/docs/readme.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/buttons/docs/readme.md
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/buttons/docs/readme.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/buttons/test/buttons.spec.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/buttons/test/buttons.spec.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/buttons/test/buttons.spec.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/buttons/test/buttons.spec.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/carousel/carousel.css b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/carousel/carousel.css
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/carousel/carousel.css
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/carousel/carousel.css
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/carousel/carousel.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/carousel/carousel.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/carousel/carousel.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/carousel/carousel.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/carousel/docs/README.md b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/carousel/docs/README.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/carousel/docs/README.md
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/carousel/docs/README.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/carousel/docs/demo.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/carousel/docs/demo.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/carousel/docs/demo.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/carousel/docs/demo.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/carousel/docs/demo.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/carousel/docs/demo.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/carousel/docs/demo.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/carousel/docs/demo.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/carousel/test/carousel.spec.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/carousel/test/carousel.spec.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/carousel/test/carousel.spec.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/carousel/test/carousel.spec.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/collapse/collapse.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/collapse/collapse.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/collapse/collapse.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/collapse/collapse.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/collapse/docs/demo.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/collapse/docs/demo.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/collapse/docs/demo.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/collapse/docs/demo.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/collapse/docs/demo.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/collapse/docs/demo.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/collapse/docs/demo.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/collapse/docs/demo.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/collapse/docs/readme.md b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/collapse/docs/readme.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/collapse/docs/readme.md
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/collapse/docs/readme.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/collapse/test/collapse.spec.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/collapse/test/collapse.spec.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/collapse/test/collapse.spec.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/collapse/test/collapse.spec.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/dateparser/dateparser.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/dateparser/dateparser.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/dateparser/dateparser.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/dateparser/dateparser.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/dateparser/test/dateparser.spec.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/dateparser/test/dateparser.spec.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/dateparser/test/dateparser.spec.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/dateparser/test/dateparser.spec.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/datepicker/datepicker.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/datepicker/datepicker.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/datepicker/datepicker.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/datepicker/datepicker.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/datepicker/docs/demo.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/datepicker/docs/demo.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/datepicker/docs/demo.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/datepicker/docs/demo.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/datepicker/docs/demo.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/datepicker/docs/demo.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/datepicker/docs/demo.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/datepicker/docs/demo.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/datepicker/docs/readme.md b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/datepicker/docs/readme.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/datepicker/docs/readme.md
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/datepicker/docs/readme.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/datepicker/test/datepicker.spec.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/datepicker/test/datepicker.spec.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/datepicker/test/datepicker.spec.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/datepicker/test/datepicker.spec.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/dropdown/docs/demo.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/dropdown/docs/demo.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/dropdown/docs/demo.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/dropdown/docs/demo.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/dropdown/docs/demo.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/dropdown/docs/demo.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/dropdown/docs/demo.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/dropdown/docs/demo.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/dropdown/docs/readme.md b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/dropdown/docs/readme.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/dropdown/docs/readme.md
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/dropdown/docs/readme.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/dropdown/dropdown.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/dropdown/dropdown.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/dropdown/dropdown.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/dropdown/dropdown.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/dropdown/test/dropdown.spec.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/dropdown/test/dropdown.spec.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/dropdown/test/dropdown.spec.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/dropdown/test/dropdown.spec.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/modal/docs/demo.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/modal/docs/demo.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/modal/docs/demo.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/modal/docs/demo.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/modal/docs/demo.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/modal/docs/demo.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/modal/docs/demo.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/modal/docs/demo.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/modal/docs/readme.md b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/modal/docs/readme.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/modal/docs/readme.md
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/modal/docs/readme.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/modal/modal.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/modal/modal.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/modal/modal.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/modal/modal.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/modal/test/modal.spec.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/modal/test/modal.spec.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/modal/test/modal.spec.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/modal/test/modal.spec.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/modal/test/modalWindow.spec.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/modal/test/modalWindow.spec.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/modal/test/modalWindow.spec.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/modal/test/modalWindow.spec.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/modal/test/multiMap.spec.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/modal/test/multiMap.spec.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/modal/test/multiMap.spec.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/modal/test/multiMap.spec.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/pagination/docs/demo.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/pagination/docs/demo.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/pagination/docs/demo.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/pagination/docs/demo.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/pagination/docs/demo.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/pagination/docs/demo.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/pagination/docs/demo.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/pagination/docs/demo.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/pagination/docs/readme.md b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/pagination/docs/readme.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/pagination/docs/readme.md
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/pagination/docs/readme.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/pagination/pagination.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/pagination/pagination.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/pagination/pagination.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/pagination/pagination.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/pagination/test/pager.spec.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/pagination/test/pager.spec.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/pagination/test/pager.spec.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/pagination/test/pager.spec.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/pagination/test/pagination.spec.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/pagination/test/pagination.spec.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/pagination/test/pagination.spec.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/pagination/test/pagination.spec.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/popover/docs/demo.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/popover/docs/demo.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/popover/docs/demo.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/popover/docs/demo.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/popover/docs/demo.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/popover/docs/demo.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/popover/docs/demo.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/popover/docs/demo.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/popover/docs/readme.md b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/popover/docs/readme.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/popover/docs/readme.md
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/popover/docs/readme.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/popover/popover.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/popover/popover.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/popover/popover.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/popover/popover.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/popover/test/popover-html.spec.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/popover/test/popover-html.spec.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/popover/test/popover-html.spec.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/popover/test/popover-html.spec.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/popover/test/popover-template.spec.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/popover/test/popover-template.spec.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/popover/test/popover-template.spec.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/popover/test/popover-template.spec.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/popover/test/popover.spec.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/popover/test/popover.spec.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/popover/test/popover.spec.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/popover/test/popover.spec.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/position/position.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/position/position.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/position/position.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/position/position.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/position/test/position.spec.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/position/test/position.spec.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/position/test/position.spec.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/position/test/position.spec.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/position/test/test.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/position/test/test.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/position/test/test.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/position/test/test.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/progressbar/docs/demo.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/progressbar/docs/demo.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/progressbar/docs/demo.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/progressbar/docs/demo.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/progressbar/docs/demo.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/progressbar/docs/demo.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/progressbar/docs/demo.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/progressbar/docs/demo.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/progressbar/docs/readme.md b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/progressbar/docs/readme.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/progressbar/docs/readme.md
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/progressbar/docs/readme.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/progressbar/progressbar.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/progressbar/progressbar.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/progressbar/progressbar.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/progressbar/progressbar.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/progressbar/test/progressbar.spec.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/progressbar/test/progressbar.spec.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/progressbar/test/progressbar.spec.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/progressbar/test/progressbar.spec.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/rating/docs/demo.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/rating/docs/demo.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/rating/docs/demo.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/rating/docs/demo.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/rating/docs/demo.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/rating/docs/demo.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/rating/docs/demo.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/rating/docs/demo.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/rating/docs/readme.md b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/rating/docs/readme.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/rating/docs/readme.md
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/rating/docs/readme.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/rating/rating.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/rating/rating.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/rating/rating.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/rating/rating.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/rating/test/rating.spec.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/rating/test/rating.spec.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/rating/test/rating.spec.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/rating/test/rating.spec.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/stackedMap/stackedMap.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/stackedMap/stackedMap.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/stackedMap/stackedMap.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/stackedMap/stackedMap.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/stackedMap/test/stackedMap.spec.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/stackedMap/test/stackedMap.spec.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/stackedMap/test/stackedMap.spec.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/stackedMap/test/stackedMap.spec.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/tabs/docs/demo.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/tabs/docs/demo.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/tabs/docs/demo.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/tabs/docs/demo.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/tabs/docs/demo.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/tabs/docs/demo.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/tabs/docs/demo.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/tabs/docs/demo.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/tabs/docs/readme.md b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/tabs/docs/readme.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/tabs/docs/readme.md
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/tabs/docs/readme.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/tabs/tabs.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/tabs/tabs.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/tabs/tabs.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/tabs/tabs.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/tabs/test/tabs.spec.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/tabs/test/tabs.spec.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/tabs/test/tabs.spec.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/tabs/test/tabs.spec.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/timepicker/docs/demo.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/timepicker/docs/demo.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/timepicker/docs/demo.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/timepicker/docs/demo.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/timepicker/docs/demo.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/timepicker/docs/demo.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/timepicker/docs/demo.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/timepicker/docs/demo.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/timepicker/docs/readme.md b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/timepicker/docs/readme.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/timepicker/docs/readme.md
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/timepicker/docs/readme.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/timepicker/test/timepicker.spec.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/timepicker/test/timepicker.spec.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/timepicker/test/timepicker.spec.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/timepicker/test/timepicker.spec.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/timepicker/timepicker.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/timepicker/timepicker.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/timepicker/timepicker.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/timepicker/timepicker.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/tooltip/docs/demo.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/tooltip/docs/demo.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/tooltip/docs/demo.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/tooltip/docs/demo.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/tooltip/docs/demo.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/tooltip/docs/demo.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/tooltip/docs/demo.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/tooltip/docs/demo.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/tooltip/docs/readme.md b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/tooltip/docs/readme.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/tooltip/docs/readme.md
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/tooltip/docs/readme.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/tooltip/test/tooltip-template.spec.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/tooltip/test/tooltip-template.spec.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/tooltip/test/tooltip-template.spec.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/tooltip/test/tooltip-template.spec.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/tooltip/test/tooltip.spec.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/tooltip/test/tooltip.spec.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/tooltip/test/tooltip.spec.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/tooltip/test/tooltip.spec.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/tooltip/test/tooltip2.spec.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/tooltip/test/tooltip2.spec.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/tooltip/test/tooltip2.spec.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/tooltip/test/tooltip2.spec.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/tooltip/tooltip.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/tooltip/tooltip.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/tooltip/tooltip.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/tooltip/tooltip.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/docs/demo.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/docs/demo.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/docs/demo.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/docs/demo.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/docs/demo.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/docs/demo.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/docs/demo.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/docs/demo.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/docs/readme.md b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/docs/readme.md
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/docs/readme.md
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/docs/readme.md
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/test/typeahead-highlight-ngsanitize.spec.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/test/typeahead-highlight-ngsanitize.spec.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/test/typeahead-highlight-ngsanitize.spec.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/test/typeahead-highlight-ngsanitize.spec.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/test/typeahead-highlight.spec.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/test/typeahead-highlight.spec.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/test/typeahead-highlight.spec.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/test/typeahead-highlight.spec.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/test/typeahead-parser.spec.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/test/typeahead-parser.spec.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/test/typeahead-parser.spec.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/test/typeahead-parser.spec.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/test/typeahead-popup.spec.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/test/typeahead-popup.spec.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/test/typeahead-popup.spec.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/test/typeahead-popup.spec.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/test/typeahead.spec.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/test/typeahead.spec.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/test/typeahead.spec.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/test/typeahead.spec.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/typeahead.js b/applications/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/typeahead.js
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/typeahead.js
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/src/typeahead/typeahead.js
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/accordion/accordion-group.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/template/accordion/accordion-group.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/accordion/accordion-group.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/template/accordion/accordion-group.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/accordion/accordion.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/template/accordion/accordion.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/accordion/accordion.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/template/accordion/accordion.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/alert/alert.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/template/alert/alert.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/alert/alert.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/template/alert/alert.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/carousel/carousel.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/template/carousel/carousel.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/carousel/carousel.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/template/carousel/carousel.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/carousel/slide.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/template/carousel/slide.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/carousel/slide.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/template/carousel/slide.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/datepicker/datepicker.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/template/datepicker/datepicker.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/datepicker/datepicker.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/template/datepicker/datepicker.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/datepicker/day.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/template/datepicker/day.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/datepicker/day.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/template/datepicker/day.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/datepicker/month.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/template/datepicker/month.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/datepicker/month.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/template/datepicker/month.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/datepicker/popup.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/template/datepicker/popup.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/datepicker/popup.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/template/datepicker/popup.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/datepicker/year.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/template/datepicker/year.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/datepicker/year.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/template/datepicker/year.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/modal/backdrop.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/template/modal/backdrop.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/modal/backdrop.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/template/modal/backdrop.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/modal/window.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/template/modal/window.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/modal/window.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/template/modal/window.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/pagination/pager.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/template/pagination/pager.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/pagination/pager.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/template/pagination/pager.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/pagination/pagination.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/template/pagination/pagination.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/pagination/pagination.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/template/pagination/pagination.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/popover/popover-html.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/template/popover/popover-html.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/popover/popover-html.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/template/popover/popover-html.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/popover/popover-template.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/template/popover/popover-template.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/popover/popover-template.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/template/popover/popover-template.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/popover/popover.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/template/popover/popover.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/popover/popover.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/template/popover/popover.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/progressbar/bar.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/template/progressbar/bar.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/progressbar/bar.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/template/progressbar/bar.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/progressbar/progress.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/template/progressbar/progress.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/progressbar/progress.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/template/progressbar/progress.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/progressbar/progressbar.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/template/progressbar/progressbar.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/progressbar/progressbar.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/template/progressbar/progressbar.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/rating/rating.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/template/rating/rating.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/rating/rating.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/template/rating/rating.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/tabs/tab.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/template/tabs/tab.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/tabs/tab.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/template/tabs/tab.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/tabs/tabset.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/template/tabs/tabset.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/tabs/tabset.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/template/tabs/tabset.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/timepicker/timepicker.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/template/timepicker/timepicker.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/timepicker/timepicker.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/template/timepicker/timepicker.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/tooltip/tooltip-html-popup.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/template/tooltip/tooltip-html-popup.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/tooltip/tooltip-html-popup.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/template/tooltip/tooltip-html-popup.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/tooltip/tooltip-popup.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/template/tooltip/tooltip-popup.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/tooltip/tooltip-popup.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/template/tooltip/tooltip-popup.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/tooltip/tooltip-template-popup.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/template/tooltip/tooltip-template-popup.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/tooltip/tooltip-template-popup.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/template/tooltip/tooltip-template-popup.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/typeahead/typeahead-match.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/template/typeahead/typeahead-match.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/typeahead/typeahead-match.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/template/typeahead/typeahead-match.html
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/typeahead/typeahead-popup.html b/applications/auto-scale/gui/src/vendor/ui.bootstrap/template/typeahead/typeahead-popup.html
similarity index 100%
rename from xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/template/typeahead/typeahead-popup.html
rename to applications/auto-scale/gui/src/vendor/ui.bootstrap/template/typeahead/typeahead-popup.html
diff --git a/xos-apps/auto-scale/xos_auto_scaling_app.py b/applications/auto-scale/xos_auto_scaling_app.py
similarity index 100%
rename from xos-apps/auto-scale/xos_auto_scaling_app.py
rename to applications/auto-scale/xos_auto_scaling_app.py
diff --git a/applications/subscriberPortal/.bowerrc b/applications/subscriberPortal/.bowerrc
new file mode 100644
index 0000000..bfd1e92
--- /dev/null
+++ b/applications/subscriberPortal/.bowerrc
@@ -0,0 +1,3 @@
+{
+  "directory": "src/bower_components/"
+}
diff --git a/applications/subscriberPortal/.gitignore b/applications/subscriberPortal/.gitignore
new file mode 100644
index 0000000..ca08d4d
--- /dev/null
+++ b/applications/subscriberPortal/.gitignore
@@ -0,0 +1,2 @@
+npm-debug.log
+src/bower_components
diff --git a/applications/subscriberPortal/README.md b/applications/subscriberPortal/README.md
new file mode 100644
index 0000000..f414994
--- /dev/null
+++ b/applications/subscriberPortal/README.md
@@ -0,0 +1,42 @@
+# Subscriber Portal
+
+This is a demonstrative implementation of a subscriber portal.
+Note that this is intended to demonstrate a possible implementation, but it is not the only way.
+
+This demo is developed with AngularJs, but your subscriber portal could be developed using whichever framework 
+in whichever language as it should only integrate XOS api with your services (eg: Authentication, CRM, Bug Tracker...)
+ 
+## Concept Demonstrated
+
+This is intended to be a portal for a Subscriber user to manage a Parent Control Application provided by XOS.
+To Subscriber will be able to choose between two bundles:
+ - Basic Bundle
+ - Family Bundle
+ 
+The subscriber should enable the _Family Bundle_ trough the _Bundles_ page.
+Once enable he will be able to define different levels of Parental Control for each device in his house.
+
+### Data Sources
+
+_Bundles_ are intended as a group of services offered by a company, so they should be managed by the company services and business logic.
+They are not intended to be part of XOS, so for demonstrative purposes have been hardcoded into the application.
+Consider that this kind of information can be provided by a remote service.
+
+_Subscribers_, _Users_ and _Parental Control_ are information managed by XOS and currently provided by its API. 
+
+## Getting started
+
+_All commands in this section refers to `applications/subscriberPortal`_
+
+_Note that NodeJs and Bower are required to run this demo_
+
+To open this demo:
+
+ - open `env/default.js` and replace `host` with the URL of your XOS installation.
+ - from the portal root execute `npm start`
+
+This should open the demo in the browser.
+
+### Bugs
+
+Please report any bug or question trough github issues.
diff --git a/applications/subscriberPortal/bower.json b/applications/subscriberPortal/bower.json
new file mode 100644
index 0000000..32241cd
--- /dev/null
+++ b/applications/subscriberPortal/bower.json
@@ -0,0 +1,26 @@
+{
+  "name": "subscriber-portal",
+  "description": "Demo implementation for a subscriber portal in XOS",
+  "main": "index.js",
+  "authors": [
+    "Matteo Scandolo"
+  ],
+  "license": "ISC",
+  "homepage": "https://github.com/open-cloud/xos",
+  "moduleType": [],
+  "private": true,
+  "ignore": [
+    "**/.*",
+    "node_modules",
+    "bower_components",
+    "test",
+    "tests"
+  ],
+  "dependencies": {
+    "angular-animate": "~1.4.9",
+    "jquery": "~2.2.0",
+    "angular-resource": "~1.4.9",
+    "angular-route": "~1.4.9",
+    "angular-cookies": "~1.4.9"
+  }
+}
diff --git a/applications/subscriberPortal/bs-config.js b/applications/subscriberPortal/bs-config.js
new file mode 100644
index 0000000..f79f762
--- /dev/null
+++ b/applications/subscriberPortal/bs-config.js
@@ -0,0 +1,69 @@
+
+/*
+ |--------------------------------------------------------------------------
+ | Browser-sync config file
+ |--------------------------------------------------------------------------
+ |
+ | For up-to-date information about the options:
+ |   http://www.browsersync.io/docs/options/
+ |
+ | There are more options than you see here, these are just the ones that are
+ | set internally. See the website for more info.
+ |
+ |
+ */
+
+var httpProxy = require('http-proxy');
+var environment = process.env.NODE_ENV;
+
+if (environment){
+  var conf = require(`./env/${environment}.js`);
+}
+else{
+  var conf = require('./env/default.js')
+}
+
+var proxy = httpProxy.createProxyServer({
+  target: conf.host || 'http://0.0.0.0:9999'
+});
+
+proxy.on('error', function(error, req, res) {
+  res.writeHead(500, {
+    'Content-Type': 'text/plain'
+  });
+  console.error('[Proxy]', error);
+});
+
+module.exports = {
+  "files": [
+    './src/**/*'
+  ],
+  "server": {
+    baseDir: './src',
+    //directory: true,
+    routes: {
+      '/rs/dashboard': './mocks/dashboard.json',
+      '/rs/bundle': './mocks/bundle.json',
+      '/rs/users': './mocks/users.json'
+    },
+    middleware: function(req, res, next){
+      if(
+        req.url.indexOf('/xos/') !== -1 ||
+        req.url.indexOf('/xoslib/') !== -1 ||
+        req.url.indexOf('/hpcapi/') !== -1
+      ){
+        console.log(req.headers)
+        if(req.headers['X-CSRFToken']){
+          req.headers['x-csrftoken'] = req.headers['x-csrftoken'];
+          req.headers.cookie = `xoscsrftoken=${req.headers['x-csrftoken']}; xossessionid=${req.headers['sessionid']}`;
+        }
+        proxy.web(req, res);
+      }
+      else{
+        next();
+      }
+    }
+  },
+  "port": 3000,
+  "open": "local"
+};
\ No newline at end of file
diff --git a/applications/subscriberPortal/env/default.js b/applications/subscriberPortal/env/default.js
new file mode 100644
index 0000000..3ec6da8
--- /dev/null
+++ b/applications/subscriberPortal/env/default.js
@@ -0,0 +1,11 @@
+// This is a default configuration for your development environment.
+// You can duplicate this configuration for any of your Backend Environments.
+// Different configurations are loaded setting a NODE_ENV variable that contain the config file name.
+// `NODE_ENV=local npm start`
+//
+// If xoscsrftoken or xossessionid are not specified the browser value are used
+// (works only for local environment as both application are served on the same domain)
+
+module.exports = {
+  host: 'http://clnode078.clemson.cloudlab.us:9999/'
+};
diff --git a/applications/subscriberPortal/mocks/bundle.json b/applications/subscriberPortal/mocks/bundle.json
new file mode 100644
index 0000000..035f23f
--- /dev/null
+++ b/applications/subscriberPortal/mocks/bundle.json
@@ -0,0 +1,33 @@
+{
+  "bundle": {
+    "id": "family",
+    "name": "Family Bundle",
+    "functions": [
+      {
+        "id": "internet",
+        "name": "Internet",
+        "desc": "Basic internet connectivity.",
+        "params": {}
+      },
+      {
+        "id": "firewall",
+        "name": "Firewall",
+        "desc": "Normal firewall protection.",
+        "params": {}
+      },
+      {
+        "id": "url_filter",
+        "name": "Parental Control",
+        "desc": "Variable levels of URL filtering.",
+        "params": {
+          "level": "PG",
+          "levels": [ "PG", "PG-13", "R" ]
+        }
+      }
+    ]
+  },
+  "bundles": [
+    { "id": "basic", "name": "Basic Bundle" },
+    { "id": "family", "name": "Family Bundle" }
+  ]
+}
diff --git a/applications/subscriberPortal/mocks/dashboard.json b/applications/subscriberPortal/mocks/dashboard.json
new file mode 100644
index 0000000..696b74b
--- /dev/null
+++ b/applications/subscriberPortal/mocks/dashboard.json
@@ -0,0 +1,10 @@
+{
+  "bundle_name": "Family Bundle",
+  "bundle_desc": "This is the bundle description. Lorem ipsum dolor sit amet, consectetur adipisicing elit.",
+  "users": [
+    { "id": 1, "name": "Mom's MacBook", "icon_id": "mom", "mac": "00:11:22:33:44:55" },
+    { "id": 1, "name": "Dad's iPad", "icon_id": "dad", "mac": "00:11:22:33:44:66" },
+    { "id": 1, "name": "Dick's laptop", "icon_id": "boy2", "mac": "00:11:22:33:44:77" },
+    { "id": 1, "name": "Jane's laptop", "icon_id": "girl1", "mac": "00:11:22:33:44:88" }
+  ]
+}
diff --git a/applications/subscriberPortal/mocks/users.json b/applications/subscriberPortal/mocks/users.json
new file mode 100644
index 0000000..3b9ed10
--- /dev/null
+++ b/applications/subscriberPortal/mocks/users.json
@@ -0,0 +1,48 @@
+{
+  "users": [
+    {
+      "id": 1,
+      "name": "Mom's MacBook",
+      "mac": "010203040506",
+      "icon_id": "mom",
+      "profile": {
+        "url_filter": {
+          "level": "R"
+        }
+      }
+    },
+    {
+      "id": 2,
+      "name": "Dad's iPad",
+      "mac": "010203040507",
+      "icon_id": "dad",
+      "profile": {
+        "url_filter": {
+          "level": "R"
+        }
+      }
+    },
+    {
+      "id": 3,
+      "name": "Dick's laptop",
+      "mac": "010203040508",
+      "icon_id": "boy2",
+      "profile": {
+        "url_filter": {
+          "level": "PG_13"
+        }
+      }
+    },
+    {
+      "id": 4,
+      "name": "Jane's laptop",
+      "mac": "010203040509",
+      "icon_id": "girl1",
+      "profile": {
+        "url_filter": {
+          "level": "PG"
+        }
+      }
+    }
+  ]
+}
diff --git a/applications/subscriberPortal/package.json b/applications/subscriberPortal/package.json
new file mode 100644
index 0000000..94254b8
--- /dev/null
+++ b/applications/subscriberPortal/package.json
@@ -0,0 +1,17 @@
+{
+  "name": "subscriber-portal",
+  "version": "1.0.0",
+  "description": "Demo implementation for a subscriber portal in XOS",
+  "main": "index.js",
+  "scripts": {
+    "test": "karma start",
+    "prestart": "npm install && bower install",
+    "start": "browser-sync start --config bs-config.js"
+  },
+  "author": "Matteo Scandolo",
+  "license": "ISC",
+  "devDependencies": {
+    "browser-sync": "^2.11.1",
+    "http-proxy": "^1.12.1"
+  }
+}
diff --git a/applications/subscriberPortal/src/app/data/pc_cats.json b/applications/subscriberPortal/src/app/data/pc_cats.json
new file mode 100644
index 0000000..299fc13
--- /dev/null
+++ b/applications/subscriberPortal/src/app/data/pc_cats.json
@@ -0,0 +1,135 @@
+{
+  "_comment_": "Parental Control Categories - data file",
+
+  "level_order": [
+    "NONE", "G", "PG", "PG_13", "R", "ALL"
+  ],
+
+  "category_order": [
+    "Safe", "Search", "Shopping", "Sports", "Privacy", "Dating", "Games",
+    "Social", "Illegal", "Weapons", "Drugs", "Gambling", "Cyberbully",
+    "Pornography", "Adult", "Anonymizers", "Suicide", "Malware"
+  ],
+
+  "descriptions": {
+    "Safe": [
+      "."
+    ],
+    "Search": [
+      "Sites which provide the ability to perform searches for specific ",
+      "topics or websites across the entire Internet, and which display ",
+      "results in a multi-page format that allows material to be sorted ",
+      "based on content, topic, or file type."
+    ],
+    "Shopping": [
+      "."
+    ],
+    "Sports": [
+      "Sites which analyze, promote, or providing information about ",
+      "competitive sports and its fans whether official or unofficial."
+    ],
+    "Privacy": [
+      "Sites which provide hosted online advertising intended to attract ",
+      "web traffic, deliver marketing messages or capture email addresses."
+    ],
+    "Dating": [
+      "Sites which promote or provide the opportunity for establishing ",
+      "romantic relationship."
+    ],
+    "Games": [
+      "Sites which related to the development, promotion, review, and ",
+      "enjoyment of online, PC, and console videogaming."
+    ],
+    "Social": [
+      "Sites which facilitate online socializing and the development or ",
+      "maintenance of personal and professional relationships across ",
+      "geographical and organizational boundaries."
+    ],
+    "Illegal": [
+      "Sites which promote or provide the means to practice illegal or ",
+      "unauthorized acts using computer-programming skills. And sites ",
+      "which offer custom academic writing services for free or for ",
+      "purchase. These sites are geared toward students who do not want ",
+      "to write their own papers, but will download or buy previously ",
+      "written or custom written papers."
+    ],
+    "Weapons": [
+      "Sites which sell, manufacture, or describe the manufacture of weapons."
+    ],
+    "Drugs": [
+      "Sites which promote, offer, sell, supply, encourage or otherwise ",
+      "advocate the recreational or illegal use, cultivation, manufacture, ",
+      "or distribution of drugs, pharmaceuticals, intoxicating plants or ",
+      "chemicals and their related paraphernalia. And sites which glamorize, ",
+      "glorify, tout or otherwise encourage the consumption of alcohol. And ",
+      "sites which sell, glamorize, enable or encourage the use of tobacco ",
+      "and tobacco-related products."
+    ],
+    "Gambling": [
+      "."
+    ],
+    "Cyberbully": [
+      "Sites or pages where people post targeted, deliberate and slanderous ",
+      "or offensive content about other people with the INTENT to torment, ",
+      "threaten, humiliate or defame them. Content is often sexual, ",
+      "malicious or hostile in nature and is submitted via interactive ",
+      "digital technology. And sites which advocate hostility, aggression ",
+      "and the denigration of an individual or group on the basis of race, ",
+      "religion, gender, nationality, ethnic origin, or other involuntary ",
+      "characteristics. Sites that use purported scientific or commonly ",
+      "accredited methods to justify inequality, aggression, and hostility."
+    ],
+    "Pornography": [
+      "Sites which contain explicit material for the purpose of causing ",
+      "sexual excitement or arousing lascivious interest."
+    ],
+    "Adult": [
+      "Sites which contain sexually explicit information that is not ",
+      "medical or scientific nature and yet are also not pornographic. ",
+      "And sites which feature social or family nudism/naturism, nudist ",
+      "camps/resorts, or „nudist-only‟ travel."
+    ],
+    "Anonymizers": [
+      "Sites which provide anonymous access to websites through a PHP or ",
+      "CGI proxy, allowing users to gain access to websites blocked by ",
+      "corporate and school proxies as well as parental control filtering ",
+      "solutions."
+    ],
+    "Suicide": [
+      "Sites which advocate, normalize, or glamourize repetitive and ",
+      "deliberate ways to inflict non-fatal harm to oneself. And sites ",
+      "advocating or glorifying suicide as well as educating people on how ",
+      "to commit suicide."
+    ],
+    "Malware": [
+      "Sites where the domain was found to either contain malware or take ",
+      "advantage of other exploits to deliver adware, spyware or malware. ",
+      "And Sites that contain direct links to malware file downloads: ",
+      ".exe, .dll, .ocx, and others. These URLs are generally highly malicious."
+    ]
+  },
+
+  "_prohibited_comment_": [
+    "Note: Level NONE allows nothing (prohibits everything)",
+    "      level ALL allows everything (prohibits nothing)",
+    "      Levels G, PG, PG_13, R prohibitions listed below:"
+  ],
+
+  "prohibited": {
+    "G": [
+      "Games", "Social", "Illegal", "Weapons", "Drugs", "Gambling",
+      "Cyberbully", "Pornography", "Adult", "Anonymizers", "Suicide", "Malware"
+    ],
+    "PG": [
+      "Social", "Illegal", "Weapons", "Drugs", "Gambling",
+      "Cyberbully", "Pornography", "Adult", "Anonymizers", "Suicide", "Malware"
+    ],
+    "PG_13": [
+      "Illegal", "Weapons", "Drugs", "Gambling",
+      "Cyberbully", "Pornography", "Adult", "Anonymizers", "Suicide", "Malware"
+    ],
+    "R": [
+      "Pornography", "Adult", "Anonymizers", "Suicide", "Malware"
+    ]
+  }
+}
diff --git a/applications/subscriberPortal/src/app/fw/foot/foot.css b/applications/subscriberPortal/src/app/fw/foot/foot.css
new file mode 100644
index 0000000..b8746d6
--- /dev/null
+++ b/applications/subscriberPortal/src/app/fw/foot/foot.css
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+div.foot {
+    width: 100%;
+    height: 30px;
+    background-color: white;
+    position: absolute;
+    left: 0;
+    right: 0;
+    bottom: 0;
+    margin-left: auto;
+    margin-right: auto;
+    z-index: 100;
+    box-shadow: 0 10px 5px 10px gray;
+}
+
+.foot div {
+    position: absolute;
+    top: 50%;
+    transform: translate(0, -50%);
+    font-style: italic;
+    font-size: 12px;
+    color: #3C3C3C;
+}
+
+.foot div.left {
+    left: 25px;
+}
+
+.foot div.right {
+    right: 25px;
+}
diff --git a/applications/subscriberPortal/src/app/fw/foot/foot.html b/applications/subscriberPortal/src/app/fw/foot/foot.html
new file mode 100644
index 0000000..ac21269
--- /dev/null
+++ b/applications/subscriberPortal/src/app/fw/foot/foot.html
@@ -0,0 +1,10 @@
+<!--Foot partial html-->
+<div class="foot">
+    <div class="left">
+
+    </div>
+
+    <div class="right">
+        © ONOS Project. All rights reserved.
+    </div>
+</div>
diff --git a/applications/subscriberPortal/src/app/fw/foot/foot.js b/applications/subscriberPortal/src/app/fw/foot/foot.js
new file mode 100644
index 0000000..fdaabb8
--- /dev/null
+++ b/applications/subscriberPortal/src/app/fw/foot/foot.js
@@ -0,0 +1,23 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+angular.module('cordFoot', [])
+    .directive('foot', function () {
+        return {
+            restrict: 'E',
+            templateUrl: 'app/fw/foot/foot.html'
+        };
+    });
diff --git a/applications/subscriberPortal/src/app/fw/icon/icon.js b/applications/subscriberPortal/src/app/fw/icon/icon.js
new file mode 100644
index 0000000..b0d48fa
--- /dev/null
+++ b/applications/subscriberPortal/src/app/fw/icon/icon.js
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+(function () {
+    'use strict';
+
+    angular.module('cordGui')
+
+        .directive('icon', [function () {
+            return {
+                restrict: 'E',
+                compile: function (element, attrs) {
+                    var html =
+                        '<svg class="embedded-icon" width="' + attrs.size + '" ' +
+                        'height="' + attrs.size + '" viewBox="0 0 50 50">' +
+                            '<g class="icon">' +
+                                '<circle cx="25" cy="25" r="25"></circle>' +
+                                '<use width="50" height="50" class="glyph '
+                                + attrs.id + '" xlink:href="#' + attrs.id +
+                                '"></use>' +
+                            '</g>' +
+                        '</svg>';
+                    element.replaceWith(html);
+                }
+            };
+        }]);
+}());
diff --git a/applications/subscriberPortal/src/app/fw/mast/mast.css b/applications/subscriberPortal/src/app/fw/mast/mast.css
new file mode 100644
index 0000000..b79d89e
--- /dev/null
+++ b/applications/subscriberPortal/src/app/fw/mast/mast.css
@@ -0,0 +1,63 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+div.mast {
+    width: 100%;
+    height: 85px;
+    background-color: white;
+    position: relative;
+    box-shadow: 0 10px 5px -7px gray;
+    z-index: 100;
+}
+
+.mast div {
+    position: absolute;
+    top: 50%;
+    transform: translate(0, -50%);
+}
+
+.mast div.left {
+    left: 25px;
+}
+
+.mast div.right {
+    right: 7%;
+    width: 37%;
+}
+
+.mast img {
+    width: 220px;
+}
+
+.mast a,
+.mast a:visited {
+    text-decoration: none;
+    color: #3C3C3C;
+}
+
+.mast li.logout {
+    list-style-type: none;
+    position: absolute;
+    right: 0;
+    top: 50%;
+    transform: translate(0, -50%);
+    font-size: 90%;
+}
+.mast li.logout:hover {
+    font-weight: bold;
+    list-style-type: none;
+    cursor: pointer;
+}
diff --git a/applications/subscriberPortal/src/app/fw/mast/mast.html b/applications/subscriberPortal/src/app/fw/mast/mast.html
new file mode 100644
index 0000000..2ff7f94
--- /dev/null
+++ b/applications/subscriberPortal/src/app/fw/mast/mast.html
@@ -0,0 +1,14 @@
+<!--Mast HTML-->
+
+<div class="mast" ng-controller="CordMastCtrl">
+    <div class="left">
+        <img src="/imgs/logo.png">
+    </div>
+
+    <div class="right">
+        <nav ng-show="page.curr !== 'login'"></nav>
+        <li class="logout"
+           ng-show="page.curr !== 'login'"
+           ng-click="logout()">LOGOUT</li>
+    </div>
+</div>
diff --git a/applications/subscriberPortal/src/app/fw/mast/mast.js b/applications/subscriberPortal/src/app/fw/mast/mast.js
new file mode 100644
index 0000000..9b27628
--- /dev/null
+++ b/applications/subscriberPortal/src/app/fw/mast/mast.js
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+(function () {
+  'use strict';
+
+  var urlSuffix = '/rs/logout';
+
+  angular.module('cordMast', [])
+    .controller('CordMastCtrl', function ($log, $scope, $location, User) {
+      $scope.logout = function () {
+        User.logout()
+        .then(function(){
+          $location.path('/login');
+        });
+      };
+    })
+    .directive('mast', function () {
+      return {
+        restrict: 'E',
+        templateUrl: 'app/fw/mast/mast.html'
+      };
+    });
+}());
diff --git a/applications/subscriberPortal/src/app/fw/nav/nav.css b/applications/subscriberPortal/src/app/fw/nav/nav.css
new file mode 100644
index 0000000..464f95b
--- /dev/null
+++ b/applications/subscriberPortal/src/app/fw/nav/nav.css
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+.nav ul {
+    display: table;
+    table-layout: fixed;
+    list-style-type: none;
+    width: 80%;
+}
+
+.nav li {
+    padding: 2.5% 0;
+    color: #3C3C3C;
+}
+.nav li:hover {
+    border-bottom: 2px solid #CE5650;
+    color: black;
+}
+.nav li.selected {
+    font-weight: bolder;
+    color: #3C3C3C;
+    letter-spacing: 0.03em;
+    border-bottom: 2px solid #CE5650;
+}
+
+.nav a,
+.nav a:visited {
+    display: table-cell;
+    text-align: center;
+    text-decoration: none;
+    color: black;
+}
diff --git a/applications/subscriberPortal/src/app/fw/nav/nav.html b/applications/subscriberPortal/src/app/fw/nav/nav.html
new file mode 100644
index 0000000..d87f961
--- /dev/null
+++ b/applications/subscriberPortal/src/app/fw/nav/nav.html
@@ -0,0 +1,17 @@
+<!--Nav HTML-->
+<div class="nav">
+    <ul>
+        <a href="#/home">
+            <li ng-class="{selected: page.curr === 'dashboard'}"
+                ng-click="$route.reload()">Home</li>
+        </a>
+        <a href="#/user">
+            <li ng-class="{selected: page.curr === 'user'}"
+                ng-click="$route.reload()">Users</li>
+        </a>
+        <a href="#/bundle">
+            <li ng-class="{selected: page.curr === 'bundle'}"
+                ng-click="$route.reload()">Bundles</li>
+        </a>
+    </ul>
+</div>
diff --git a/applications/subscriberPortal/src/app/fw/nav/nav.js b/applications/subscriberPortal/src/app/fw/nav/nav.js
new file mode 100644
index 0000000..9ba3e37
--- /dev/null
+++ b/applications/subscriberPortal/src/app/fw/nav/nav.js
@@ -0,0 +1,23 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+angular.module('cordNav', [])
+    .directive('nav', function () {
+        return {
+            restrict: 'E',
+            templateUrl: 'app/fw/nav/nav.html'
+        };
+    });
diff --git a/applications/subscriberPortal/src/app/fw/services/helpers.js b/applications/subscriberPortal/src/app/fw/services/helpers.js
new file mode 100644
index 0000000..6f6c4a6
--- /dev/null
+++ b/applications/subscriberPortal/src/app/fw/services/helpers.js
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+(function () {
+  "use strict";
+
+  angular.module('cordGui')
+  .service('Helpers', function(){
+    this.randomDate = function(start, end) {
+      return new Date(
+        start.getTime() + Math.random() * (end.getTime() - start.getTime())
+      );
+    }
+  });
+
+}());
\ No newline at end of file
diff --git a/applications/subscriberPortal/src/app/fw/services/rest.js b/applications/subscriberPortal/src/app/fw/services/rest.js
new file mode 100644
index 0000000..e97f091
--- /dev/null
+++ b/applications/subscriberPortal/src/app/fw/services/rest.js
@@ -0,0 +1,142 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+(function () {
+  "use strict";
+
+  angular.module('cordRest', [])
+  .factory('SetCSRFToken', function setCSRFToken($cookies) {
+    return {
+      request: function(request){
+        request.headers['X-CSRFToken'] = $cookies.get('xoscsrftoken');
+        request.headers['sessionId'] = $cookies.get('sessionid');
+        return request;
+      }
+    };
+  })
+  .service('User', function($http, $q, $cookies, cordConfig){
+    this.login = function(username, password){
+      var deferred = $q.defer();
+      var user;
+
+      // logging in the user
+      $http.post(cordConfig.url + '/xoslib/login/', {username: username, password: password})
+      .then(function(res){
+        $cookies.put('user', res.data.user);
+        $cookies.put('sessionid', res.data.xossessionid);
+        user = JSON.parse(res.data.user);
+        return $http.get(cordConfig.url + '/xos/tenantrootprivileges?user=' + user.id);
+      })
+      .then(function(subscribers){
+        // subscribers are an array because the way Django perform query
+        // but one user is related to only one subscriber
+
+        $cookies.put('subscriberId', subscribers.data[0].id);
+        deferred.resolve(user);
+      })
+      .catch(function(e){
+        deferred.reject(e);
+        throw new Error(e);
+      });
+
+      return deferred.promise;
+    };
+
+    this.isLoggedIn = function(){
+      var user = $cookies.get('user');
+      if( angular.isDefined(user)){
+        return true;
+      }
+      return false;
+    };
+
+    this.logout = function(){
+      var deferred = $q.defer();
+      var sessionId = $cookies.get('sessionid');
+      $http.post(cordConfig.url + '/xoslib/logout/', {xossessionid: sessionId})
+      .then(function(res){
+        $cookies.remove('user');
+        deferred.resolve();
+      })
+      .catch(function(e){
+        throw new Error(e);
+      });
+
+      return deferred.promise;
+    };
+  })
+  .service('Subscribers', function($resource, cordConfig){
+    return $resource(cordConfig.url + '/xoslib/rs/subscriber');
+  })
+  .service('SubscriberUsers', function($resource, $filter, cordConfig, Helpers){
+    return $resource(cordConfig.url + '/xoslib/rs/subscriber/:subscriberId/users/:id', {}, {
+      query: {
+        method: 'GET',
+        isArray: true,
+        interceptor: {
+          response: function(res){
+            // this is used to fake some data that are not XOS related,
+            // but can be provided by any external services
+
+            // add an icon to the user
+            res.data.map(function(user){
+              switch (user.name){
+                case 'Mom\'s PC':
+                  user['icon_id'] = 'mom';
+                  break
+                case 'Jack\'s Laptop':
+                  user['icon_id'] = 'boy2';
+                  break
+                case 'Jill\'s Laptop':
+                  user['icon_id'] = 'girl1';
+                  break
+                case 'Dad\'s PC':
+                  user['icon_id'] = 'dad';
+                  break
+              }
+
+              return user;
+            });
+
+            // add a random login date to the user
+            res.data.forEach(function(user){
+              if(!angular.isDefined(cordConfig.userActivity[user.id])){
+                var date = Helpers.randomDate(new Date(2015, 0, 1), new Date());
+                cordConfig.userActivity[user.id] = $filter('date')(date, 'mediumTime');
+              }
+            });
+            return res.data;
+          }
+        }
+      }
+    });
+  })
+  .service('SubscriberUsersUrlFilterLevel', function($q, $http, cordConfig){
+    this.updateUrlFilterLevel = function(subscriberId, userId, level){
+      var deferred = $q.defer();
+
+      $http.put(cordConfig.url + '/xoslib/rs/subscriber/' + subscriberId + '/users/' + userId + '/url_filter/' + level)
+      .then(function(res){
+        deferred.resolve(res);
+      })
+      .catch(function(e){
+        throw new Error(e);
+      });
+
+      return deferred.promise;
+    };
+  });
+}());
\ No newline at end of file
diff --git a/applications/subscriberPortal/src/app/view/bundle/available.html b/applications/subscriberPortal/src/app/view/bundle/available.html
new file mode 100644
index 0000000..6f300d4
--- /dev/null
+++ b/applications/subscriberPortal/src/app/view/bundle/available.html
@@ -0,0 +1,5 @@
+<div ng-cloak class="ng-hide ng-cloak" ng-show="show" id="available">
+    <h3>{{available.name}}</h3>
+    <p>{{available.desc}}</p>
+    <button ng-click="changeBundle(available.id)">Apply</button>
+</div>
diff --git a/applications/subscriberPortal/src/app/view/bundle/bundle.css b/applications/subscriberPortal/src/app/view/bundle/bundle.css
new file mode 100644
index 0000000..84fa842
--- /dev/null
+++ b/applications/subscriberPortal/src/app/view/bundle/bundle.css
@@ -0,0 +1,105 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+div#bundle div.main-left {
+    width: 61%;
+    padding: 4% 0 0 1%;
+}
+div#bundle div.main-right {
+    width: 37%;
+    padding-top: 4%;
+}
+
+#bundle table {
+    width: 95%;
+    margin-top: 5%;
+    margin-left: 2%;
+    border-radius: 3px;
+}
+
+#bundle td {
+    font-size: 90%;
+}
+#bundle td.icon {
+    text-align: center;
+    width: 50px;
+    height: 50px;
+    padding: 4%;
+}
+#bundle td.name {
+    border-left: solid 1px rgba(136, 0, 0, 0.25);
+    padding-left: 3%;
+}
+#bundle td.desc {
+    width: 60%;
+    text-align: left;
+    font-style: italic;
+}
+/* animation specific */
+#bundle tr.fadein.ng-leave td.name,
+#bundle tr.fadein.ng-leave-active td.name {
+    opacity: 0;
+    border: none;
+}
+
+#bundle img {
+    width: 100%;
+}
+
+#bundle h2 {
+    text-align: center;
+    padding: 3%;
+    font-weight: lighter;
+    border: 1px solid #3C3C3C;
+    cursor: pointer;
+}
+#bundle h2:hover {
+    color: #CE5650;
+    border-color: #CE5650;
+}
+
+div#bundles {
+    position: relative;
+}
+
+div#available.ng-hide-add.ng-hide-add-active,
+div#available.ng-hide-remove.ng-hide-remove-active {
+    -webkit-transition: all linear 0.5s;
+    transition: all linear 0.5s;
+}
+div#available.ng-hide {
+    opacity: 0;
+    top: -80px;
+}
+
+div#available {
+    position: absolute;
+    padding: 5%;
+    opacity: 1;
+    top: -10px;
+    width: 100%;
+}
+
+#available p {
+    text-indent: initial;
+    text-align: initial;
+}
+
+#available button {
+    float: right;
+    width: 33%;
+    margin-top: 5%;
+}
diff --git a/applications/subscriberPortal/src/app/view/bundle/bundle.html b/applications/subscriberPortal/src/app/view/bundle/bundle.html
new file mode 100644
index 0000000..8852d86
--- /dev/null
+++ b/applications/subscriberPortal/src/app/view/bundle/bundle.html
@@ -0,0 +1,24 @@
+<!-- Bundle page partial html -->
+<div id="bundle" class="container">
+    <div class="main-left">
+        <h4>You are subscribed to the</h4>
+        <h3>{{name}}</h3>
+        <p>{{desc}}</p>
+        <table>
+            <tr ng-repeat="func in funcs" class="fadein">
+                <td class="icon">
+                    <img ng-src="{{'/imgs/' + func.id + '.png'}}">
+                </td>
+                <td class="name">{{func.name}}</td>
+                <td class="desc">{{func.desc}}</td>
+            </tr>
+        </table>
+    </div>
+    <div class="main-right">
+        <img src="imgs/bundle.jpg">
+        <div ng-click="showBundles()">
+            <h2>Available Bundles</h2>
+        </div>
+        <div id="bundles" bundle-available></div>
+    </div>
+</div>
\ No newline at end of file
diff --git a/applications/subscriberPortal/src/app/view/bundle/bundle.js b/applications/subscriberPortal/src/app/view/bundle/bundle.js
new file mode 100644
index 0000000..310118b
--- /dev/null
+++ b/applications/subscriberPortal/src/app/view/bundle/bundle.js
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+(function () {
+  'use strict';
+
+  var urlSuffix = '/rs/bundle';
+
+  var basic = 'basic',
+    family = 'family';
+
+  angular.module('cordBundle', [])
+    .controller('CordBundleCtrl', function ($log, $scope, $resource, cordConfig) {
+      var BundleData, resource,
+        getData;
+      $scope.page.curr = 'bundle';
+      $scope.show = false;
+
+      // set the current bundle
+      $scope.name = cordConfig.bundles[cordConfig.activeBundle].name;
+      $scope.desc = cordConfig.bundles[cordConfig.activeBundle].desc;
+      $scope.funcs = cordConfig.bundles[cordConfig.activeBundle].functions;
+
+      // set the available bundle
+      if(cordConfig.activeBundle === 0) {
+        $scope.available = cordConfig.bundles[1];
+      }
+      else{
+        $scope.available = cordConfig.bundles[0];
+      }
+
+      // switching the bundles
+      $scope.changeBundle = function (id) {
+        if(cordConfig.activeBundle === 0){
+          cordConfig.activeBundle = 1;
+          $scope.available = cordConfig.bundles[0];
+        }
+        else{
+          cordConfig.activeBundle = 0;
+          $scope.available = cordConfig.bundles[1];
+        }
+        $scope.name = cordConfig.bundles[cordConfig.activeBundle].name;
+        $scope.desc = cordConfig.bundles[cordConfig.activeBundle].desc;
+        $scope.funcs = cordConfig.bundles[cordConfig.activeBundle].functions;
+      };
+
+      // hiding and showing bundles
+      $scope.showBundles = function () {
+        $scope.show = !$scope.show;
+      };
+
+      $log.debug('Cord Bundle Ctrl has been created.');
+    })
+    .directive('bundleAvailable', function () {
+      return {
+        templateUrl: 'app/view/bundle/available.html'
+      };
+    });
+}());
diff --git a/applications/subscriberPortal/src/app/view/common/common.css b/applications/subscriberPortal/src/app/view/common/common.css
new file mode 100644
index 0000000..800fe24
--- /dev/null
+++ b/applications/subscriberPortal/src/app/view/common/common.css
@@ -0,0 +1,177 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+[ng\:cloak], [ng-cloak], .ng-cloak {
+    display: none !important;
+}
+
+html, body, div#frame, div#view {
+    height: 100%;
+    overflow: scroll;
+}
+
+head, body, footer,
+h1, h2, h3, h4, h5, h6, p,
+a, ul, li, div,
+table, tr, td, th, thead, tbody,
+form, select, input, option, label {
+    padding: 0;
+    margin: 0;
+}
+
+h1, h2, h3, h4, h5, h6,
+p, a, li, th, td,
+select, input, option, label, div {
+    font-family: sans-serif, "Droid Sans", "Lucida Grande", Arial, Helvetica;
+    color: #3C3C3C;
+}
+
+body {
+    background-color: white;
+    overflow: hidden;
+}
+table {
+    border-spacing: 0;
+    border-collapse: collapse;
+}
+th, td {
+    color: rgba(0, 0, 0, 0.8);
+}
+h3 {
+    margin-bottom: 4%;
+    font-size: xx-large;
+    font-weight: lighter;
+}
+h4 {
+    font-size: large;
+    font-weight: lighter;
+}
+h5 {
+    color: rgb(107, 107, 107);
+    font-style: italic;
+    font-weight: normal;
+    font-size: 90%;
+    margin-bottom: 1%;
+}
+p {
+    font-size: 100%;
+    color: rgba(0,0,0, 0.8);
+    text-indent: 20px;
+    text-align: justify;
+    padding-right: 5%;
+}
+th {
+    background-color: #7AB6EA;
+    color: white;
+    letter-spacing: 0.05em;
+    font-weight: lighter;
+}
+
+button,
+input[type="button"],
+input[type="reset"] {
+    height: 30px;
+    box-shadow: none;
+    border: none;
+    outline: none;
+    cursor: pointer;
+    letter-spacing: 0.02em;
+    font-size: 14px;
+    background-color: lightgray;
+    transition: background-color 0.4s;
+}
+button:hover,
+input[type="button"]:hover,
+input[type="reset"]:hover {
+    color: white;
+    background-color: rgb(122, 188, 229);
+}
+
+button[disabled],
+input[type="button"][disabled],
+input[type="reset"][disabled] {
+    background-color: lightgray;
+    color: graytext;
+}
+
+
+button[disabled]:hover,
+input[type="button"][disabled]:hover,
+input[type="reset"][disabled]:hover {
+    cursor: default;
+}
+
+div.container {
+    width: 85%;
+    margin: 0 auto;
+    min-height: 100%;
+}
+div.main-left, div.main-right {
+    float: left;
+}
+div.main-left {
+    width: 37%;
+    padding-left: 1%;
+}
+div.main-right {
+    width: 61%;
+}
+
+svg#icon-defs {
+    display: none;
+}
+
+g.icon circle {
+    fill: none;
+}
+g.icon use.glyph.checkMark {
+    fill: rgb(68, 189, 83)
+}
+g.icon use.glyph.xMark {
+    fill: #CE5650;
+}
+
+th.user-pic {
+    background-color: white;
+}
+th.user-pic,
+td.user-pic {
+    width: 30px;
+    padding-left: 4%;
+}
+td.user-pic img {
+    width: 25px;
+}
+
+/* animation */
+.fadein {
+    transition: all linear 0.5s;
+}
+.fadein.ng-enter-stagger,
+.fadein.ng-leave-stagger {
+    transition-delay: 0.2s;
+    animation-delay: 0.2s;
+}
+.fadein.ng-enter {
+    opacity: 0;
+}
+.fadein.ng-enter.ng-enter-active {
+    opacity: 1;
+}
+.fadein.ng-leave,
+.fadein.ng-leave-active {
+    opacity: 0;
+}
diff --git a/applications/subscriberPortal/src/app/view/home/home.css b/applications/subscriberPortal/src/app/view/home/home.css
new file mode 100644
index 0000000..58f07a5
--- /dev/null
+++ b/applications/subscriberPortal/src/app/view/home/home.css
@@ -0,0 +1,65 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#home div.main-left {
+    width: 55%;
+    padding: 0;
+}
+#home div.main-right {
+    padding: 1% 0 0 3%;
+    width: 42%;
+}
+#home div.move-down {
+    margin-top: 5%;
+}
+
+#home div.image-holder {
+    width: 100%;
+    position: relative;
+}
+
+#home div.main-left img {
+    width: 100%;
+}
+
+#home div.main-right div.bundle-title {
+    padding: 2% 0;
+}
+
+#home h4 {
+    padding-bottom: 2%;
+}
+
+#home p {
+    margin-bottom: 3%;
+}
+
+#home table {
+    width: 94%;
+    table-layout: fixed;
+    margin-left: 6%;
+    border-left: 1px solid #CE5650;
+}
+
+#home table.users th,
+#home table.users td {
+    font-size: 90%;
+}
+
+#home td, #home th {
+    text-align: left;
+    padding: 2%;
+}
diff --git a/applications/subscriberPortal/src/app/view/home/home.html b/applications/subscriberPortal/src/app/view/home/home.html
new file mode 100644
index 0000000..a3d7fb2
--- /dev/null
+++ b/applications/subscriberPortal/src/app/view/home/home.html
@@ -0,0 +1,42 @@
+<!-- Home page partial html -->
+<div id="home" class="container">
+    <div class="main-left">
+        <img src="/imgs/home.jpg">
+    </div>
+
+    <div class="main-right">
+        <div class="move-down">
+            <div class="bundle-title">
+                <h4>Welcome Dad!</h4>
+                <h5>You are subscribed to the</h5>
+                <h3>{{bundle_name}}</h3>
+            </div>
+
+            <p>{{bundle_desc}}</p>
+
+
+            <h4>Users</h4>
+            <table class="users">
+                <thead>
+                    <tr>
+                        <th class="user-pic"></th>
+                        <th>Name</th>
+                        <th>Last Login</th>
+                    </tr>
+                </thead>
+                <tbody>
+
+                <!--<pre>{{users | json}}</pre>-->
+
+                <tr ng-repeat="user in users" class="fadein">
+                        <td class="user-pic">
+                            <img ng-src="{{'/imgs/' + user.icon_id + '.jpg'}}">
+                        </td>
+                        <td>{{user.name}}</td>
+                        <td>{{shared.userActivity[user.id]}}</td>
+                    </tr>
+                </tbody>
+            </table>
+        </div>
+    </div>
+</div>
\ No newline at end of file
diff --git a/applications/subscriberPortal/src/app/view/home/home.js b/applications/subscriberPortal/src/app/view/home/home.js
new file mode 100644
index 0000000..c7de985
--- /dev/null
+++ b/applications/subscriberPortal/src/app/view/home/home.js
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+(function () {
+  'use strict';
+
+  angular.module('cordHome', [])
+    .controller('CordHomeCtrl', function ($log, $scope, $cookies, cordConfig, SubscriberUsers) {
+
+      $scope.page.curr = 'dashboard';
+
+      SubscriberUsers.query({subscriberId: $cookies.get('subscriberId')}).$promise
+      .then(function(res){
+        $scope.bundle_name = cordConfig.bundles[cordConfig.activeBundle].name;
+        $scope.bundle_desc = cordConfig.bundles[cordConfig.activeBundle].desc;
+        $scope.users = res;
+      })
+      .catch(function(){
+        $log.error('Problem with resource', SubscriberUsers);
+      });
+
+      $log.debug('Cord Home Ctrl has been created.');
+    });
+}());
diff --git a/applications/subscriberPortal/src/app/view/login/login.css b/applications/subscriberPortal/src/app/view/login/login.css
new file mode 100644
index 0000000..b4275c5
--- /dev/null
+++ b/applications/subscriberPortal/src/app/view/login/login.css
@@ -0,0 +1,133 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+div#login {
+    background: url("/imgs/login.jpg") no-repeat center;
+    background-size: contain;
+    position: absolute;
+    top: 3%;
+    left: 5%;
+}
+
+div#login-wrapper {
+    text-align: center;
+}
+
+#login h2 {
+    margin: 1%;
+    color: rgb(115, 115, 115);
+    font-size: xx-large;
+    font-weight: lighter;
+    text-align: left;
+    position: absolute;
+    top: -140px;
+}
+
+div#login-form {
+    display: inline-block;
+}
+
+#login div.outline {
+    position: absolute;
+    border: 1px solid rgba(115, 115, 115, 0.7);
+    background-color: white;
+    opacity: .6;
+    top: -160px;
+    left: -25px;
+    width: 300px;
+    height: 245px;
+    border-radius: 1px;
+}
+
+div#login-form {
+    margin-left: 2.5%;
+    position: relative;
+    width: 255px;
+    margin-top: 33.5%;
+}
+
+#login-form form {
+    line-height: 250%;
+}
+
+#login-form input {
+    display: block;
+    height: 40px;
+    width: 230px;
+    font-size: 19px;
+    padding: 0 5px;
+    margin-bottom: 3.5%;
+    border-radius: 1px;
+    position: absolute;
+}
+
+#login-form .login-error{
+    background: red;
+    border: 2px solid darkred;
+    color: white;
+    position: absolute;
+    height: 40px;
+    width: 230px;
+    padding: 0 5px;
+    border-radius: 1px;
+    top: 70px;
+    font-size: 10px;
+}
+
+#login-form input[type="text"] {
+    top: -90px;
+}
+#login-form input[type="password"] {
+    top: -35px;
+}
+
+#login-form input[type="text"],
+#login-form input[type="password"] {
+    border: 2px solid rgba(115, 115, 115, 0.7);
+    transition: border 0.1s;
+}
+#login-form input[type="text"]:focus,
+#login-form input[type="password"]:focus,
+#login-form input[type="button"]:focus {
+    outline: none;
+    border: solid 2px rgba(122, 188, 229, 0.5);
+}
+
+#login-form a {
+    text-decoration: none;
+}
+
+#login-form input[type="button"] {
+    top: 25px;
+    width: 245px;
+    height: 30px;
+    cursor: pointer;
+    letter-spacing: 0.02em;
+    font-size: 100%;
+    color: #3C3C3C;
+    background-color: lightgray;
+    transition: background-color 0.4s;
+}
+
+#login-form input[type="button"]:hover {
+    color: white;
+    background-color: rgb(122, 188, 229);
+}
+
+#login-form input.ng-invalid.ng-touched {
+    background-color: #CE5650;
+    color: white;
+}
diff --git a/applications/subscriberPortal/src/app/view/login/login.html b/applications/subscriberPortal/src/app/view/login/login.html
new file mode 100644
index 0000000..6359cce
--- /dev/null
+++ b/applications/subscriberPortal/src/app/view/login/login.html
@@ -0,0 +1,18 @@
+<!-- Login page partial html -->
+<div id="login" class="container">
+    <div id="login-wrapper">
+        <div id="login-form">
+            <div class="outline"></div>
+            <h2>Subscriber Portal</h2>
+            <form ng-submit="login()">
+                <input ng-model="email" type="text" placeholder="email" required>
+                <input ng-model="password" type="password" placeholder="password" required>
+                <input ng-click="login()" type="button" value="Log In">
+                <div class="login-error" ng-show="error">
+                    Sorry, your login failed.
+                    Please try again.
+                </div>
+            </form>
+        </div>
+    </div>
+</div>
\ No newline at end of file
diff --git a/applications/subscriberPortal/src/app/view/login/login.js b/applications/subscriberPortal/src/app/view/login/login.js
new file mode 100644
index 0000000..77ef724
--- /dev/null
+++ b/applications/subscriberPortal/src/app/view/login/login.js
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+(function () {
+  'use strict';
+
+  angular.module('cordLogin', [])
+    .controller('CordLoginCtrl', function ($log, $scope, $resource, $location, $window, User) {
+
+      $scope.page.curr = 'login';
+
+      $scope.login = function () {
+        if ($scope.email && $scope.password) {
+          //getResource($scope.email);
+
+          User.login($scope.email, $scope.password)
+          .then(function(user){
+            $location.url('/home');
+          })
+          .catch(function(e){
+            $scope.error = true;
+          });
+
+          $scope.shared.login = $scope.email;
+        }
+      };
+
+      $log.debug('Cord Login Ctrl has been created.');
+    });
+}());
diff --git a/applications/subscriberPortal/src/app/view/user/ratingPanel.html b/applications/subscriberPortal/src/app/view/user/ratingPanel.html
new file mode 100644
index 0000000..04ee430
--- /dev/null
+++ b/applications/subscriberPortal/src/app/view/user/ratingPanel.html
@@ -0,0 +1,22 @@
+<!--Partial HTML for rating panel directive-->
+<div id="rating-panel">
+    <div ng-cloak class="ng-hide ng-cloak panel" ng-show="ratingsShown">
+        <table>
+            <tr>
+                <th class="title">Category</th>
+                <th ng-repeat="rating in level_order">{{rating}}</th>
+            </tr>
+            <tr ng-repeat="cat in category_order">
+                <td class="title">{{cat}}</td>
+                <td ng-repeat="r in level_order">
+                    <div ng-if="prohibitedSites[r][cat]">
+                        <icon size="15" id="xMark"></icon>
+                    </div>
+                   <div ng-if="!prohibitedSites[r][cat]">
+                       <icon size="15" id="checkMark"></icon>
+                   </div>
+                </td>
+            </tr>
+        </table>
+    </div>
+</div>
\ No newline at end of file
diff --git a/applications/subscriberPortal/src/app/view/user/user.css b/applications/subscriberPortal/src/app/view/user/user.css
new file mode 100644
index 0000000..a3f64d5
--- /dev/null
+++ b/applications/subscriberPortal/src/app/view/user/user.css
@@ -0,0 +1,219 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#user div {
+    padding-top: 2%;
+}
+
+#user .icon-saved{
+    background-image: url('../../../imgs/icon-saved.gif');
+    display: inline-block;
+    width: 15px;
+    height: 15px;
+    background-size: cover;
+}
+
+/* when hiding the picture */
+#user .icon-saved.ng-hide-add         { animation:0.5s lightSpeedOut ease; }
+
+/* when showing the picture */
+#user .icon-saved.ng-hide-remove      { animation:0.5s lightSpeedIn ease; }
+
+/* light speed out */
+@keyframes lightSpeedOut {
+    0% {
+        opacity: 1;
+    }
+
+    100% {
+        transform: translate3d(100%, 0, 0) skewX(30deg);
+        transform: translate3d(100%, 0, 0) skewX(30deg);
+        opacity: 0;
+    }
+}
+
+@keyframes lightSpeedIn {
+
+    0% {
+        transform: translate3d(100%, 0, 0) skewX(30deg);
+        transform: translate3d(100%, 0, 0) skewX(30deg);
+        opacity: 0;
+    }
+    100% {
+        opacity: 1;
+    }
+}
+
+#user div.main-left {
+    width: 98%;
+    padding-left: 1%;
+}
+#user div.main-left.family {
+    width: 62%;
+    padding-left: 1%;
+}
+
+#user div.main-right {
+    width: 0;
+}
+#user div.main-right.family {
+    width: 37%;
+}
+
+#user table.user-info,
+#user table.user-form {
+    float: left;
+    width: 100%;
+}
+
+#user table.user-info th,
+#user table.user-form th {
+    text-align: left;
+    padding: 2% 1%;
+}
+
+#user span.help:hover {
+    cursor: pointer;
+    color: #CE5650;
+}
+
+#user div.main-left.family table.user-info th,
+#user div.main-right.family table.user-form th {
+    padding: 17px;
+}
+
+#user div.main-left.family table.user-info td,
+#user div.main-right.family table.user-form td {
+    padding: 10px;
+    height: 23px;
+}
+#user table.user-info td {
+    padding: 1%;
+}
+
+#user table.user-form td {
+    border-left: 1px solid #CE5650;
+}
+
+#user table.user-form td.buttons {
+    text-align: right;
+    border: none;
+}
+
+#user table.user-form tr.options td {
+    padding-left: 5%;
+}
+
+#user select,
+#user select:focus {
+    border: none;
+}
+
+#user select {
+    font-size: 95%;
+}
+
+#user option,
+#user option:focus {
+    border: none;
+}
+
+#user option[selected] {
+    background-color: rgb(122, 188, 229);
+}
+
+#user label {
+    font-weight: bold;
+    display: block;
+    text-align: center;
+    padding: 5%;
+}
+
+#user input[type="button"],
+#user input[type="reset"] {
+    width: 30%;
+}
+
+#user td.buttons div {
+    display: inline;
+}
+#user td.buttons svg {
+    vertical-align: middle;
+}
+
+#rating-panel th,
+#rating-panel td {
+    text-align: center;
+    padding: 1%;
+    font-weight: lighter;
+}
+
+#rating-panel th.title,
+#rating-panel td.title {
+    width: 125px;
+    text-align: left;
+}
+
+#rating-panel th {
+    background-color: white;
+    padding-top: 3%;
+    border-bottom: 1px solid #CE5650;
+    color: #3C3C3C;
+    font-weight: normal;
+}
+
+#rating-panel tr th:first-child,
+#rating-panel tr td:first-child {
+    padding-left: 5%;
+}
+#rating-panel tr th:last-child,
+#rating-panel tr td:last-child {
+    padding-right: 5%;
+}
+
+div#rating-panel {
+    position: relative;
+    pointer-events: none;
+}
+
+#rating-panel div.ng-hide-add.ng-hide-add-active,
+#rating-panel div.ng-hide-remove.ng-hide-remove-active {
+    -webkit-transition: all linear 0.75s;
+    transition: all linear 0.75s;
+}
+
+#rating-panel div.panel {
+    position: absolute;
+    top: 0;
+    left: -6%;
+    height: 545px;
+    overflow: auto;
+    padding: 0;
+    pointer-events: auto;
+    box-shadow: 0 3px 23px 7px rgb(118, 118, 118);
+    border-radius: 3px;
+}
+#rating-panel table {
+    table-layout: fixed;
+    width: 500px;
+    background-color: white;
+    opacity: 1;
+}
+
+#rating-panel div.ng-hide {
+    opacity: 0;
+    left: -55%;
+}
diff --git a/applications/subscriberPortal/src/app/view/user/user.html b/applications/subscriberPortal/src/app/view/user/user.html
new file mode 100644
index 0000000..0065799
--- /dev/null
+++ b/applications/subscriberPortal/src/app/view/user/user.html
@@ -0,0 +1,44 @@
+<!-- Users page partial html -->
+<div class="container">
+    <div id="user">
+        <div class="main-left" ng-class="{family: isFamily}">
+            <table class="user-info">
+                <tr>
+                    <th class="user-pic"></th>
+                    <th>Name</th>
+                    <th>Last Login</th>
+                </tr>
+                <tr ng-repeat="user in users" class="fadein">
+                    <td class="user-pic">
+                        <img ng-src="{{'/imgs/' + user.icon_id + '.jpg'}}">
+                    </td>
+                    <td>{{user.name}}</td>
+                    <td>{{shared.userActivity[user.id]}}</td>
+                </tr>
+            </table>
+        </div>
+
+        <div class="main-right" ng-class="{family: isFamily}">
+            <form ng-if="isFamily" name="changeLevels">
+                <table class="user-form">
+                    <tr>
+                        <th>
+                            Select Site Rating
+                            <span class="help" ng-click="showRatings()"> (?)</span>
+                        </th>
+                    </tr>
+                    <tr ng-repeat="user in users" class="options">
+                        <td>
+                            <select ng-model="user.level" ng-options="l for l in levels" ng-change="updateLevel(user)">
+                            </select>
+                            <user-updated-tick user="user">Saved</user-updated-tick>
+                        </td>
+                    </tr>
+                </table>
+            </form>
+        </div>
+        <div ng-if="isFamily">
+            <ratings-panel></ratings-panel>
+        </div>
+    </div>
+</div>
\ No newline at end of file
diff --git a/applications/subscriberPortal/src/app/view/user/user.js b/applications/subscriberPortal/src/app/view/user/user.js
new file mode 100644
index 0000000..57e0a4c
--- /dev/null
+++ b/applications/subscriberPortal/src/app/view/user/user.js
@@ -0,0 +1,125 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+(function () {
+  'use strict';
+
+  angular.module('cordUser', [])
+    .controller('CordUserCtrl', function ($log, $scope, $resource, $timeout, $filter, SubscriberUsers, cordConfig, SubscriberUsersUrlFilterLevel) {
+
+      $scope.page.curr = 'user';
+      $scope.isFamily = false;
+      $scope.newLevels = {};
+      $scope.showCheck = false;
+      $scope.ratingsShown = false;
+      
+      SubscriberUsers.query({subscriberId: $cookies.get('subscriberId')}).$promise
+        .then(function(res){
+          $scope.isFamily = cordConfig.bundles[cordConfig.activeBundle].id === 'family';
+          // if bundle is family search for url_filter level
+          if ($scope.isFamily) {
+            angular.forEach(cordConfig.bundles[cordConfig.activeBundle].functions, function(fn){
+              if(fn.id === 'url_filter'){
+                $scope.levels = fn.params.levels;
+              }
+            });
+          }
+          $scope.users = res;
+        })
+        .catch(function () {
+          $log.error('Problem with resource', SubscriberUsers);
+        });
+
+      $scope.updateLevel = function(user){
+        // TODO save this data and show a confirmation to the user
+        // NOTE subscriberId should be retrieved by login
+        SubscriberUsersUrlFilterLevel.updateUrlFilterLevel(1, user.id, user.level)
+          .then(function(){
+            user.updated = true;
+          })
+          .catch(function(e){
+            throw new Error(e);
+          });
+      };
+
+      $scope.showRatings = function () {
+        $scope.ratingsShown = !$scope.ratingsShown;
+      };
+
+      $log.debug('Cord User Ctrl has been created.');
+    })
+    .directive('userUpdatedTick', function($timeout){
+      return {
+        restric: 'E',
+        scope: {
+          user: '='
+        },
+        template: '<span class="icon-saved" ng-show="saved"></span>',
+        link: function(scope, elem){
+          scope.saved = false;
+          scope.$watch('user.updated', function(val){
+            if(val){
+              scope.saved = true;
+              $timeout(function(){
+                scope.saved = false;
+              }, 3000);
+            }
+          });
+        }
+      }
+    })
+    .directive('ratingsPanel', function ($log) {
+      return  {
+        templateUrl: 'app/view/user/ratingPanel.html',
+        link: function (scope, elem, attrs) {
+          function fillSubMap(order, bool) {
+            var result = {};
+            $.each(order, function (index, cat) {
+              result[cat] = bool;
+            });
+            return result;
+          }
+          function processSubMap(prhbSites) {
+            var result = {};
+            $.each(prhbSites, function (index, cat) {
+              result[cat] = true;
+            });
+            return result;
+          }
+
+          function preprocess(data, order) {
+            return {
+              ALL: fillSubMap(order, false),
+              G: processSubMap(data.G),
+              PG: processSubMap(data.PG),
+              PG_13: processSubMap(data.PG_13),
+              R: processSubMap(data.R),
+              NONE: fillSubMap(order, true)
+            };
+          }
+
+          $.getJSON('/app/data/pc_cats.json', function (data) {
+            scope.level_order = data.level_order;
+            scope.category_order = data.category_order;
+            scope.prohibitedSites = preprocess(
+              data.prohibited, data.category_order
+            );
+            scope.$apply();
+          });
+        }
+      };
+    });
+}());
diff --git a/applications/subscriberPortal/src/cord.js b/applications/subscriberPortal/src/cord.js
new file mode 100644
index 0000000..c7a5b65
--- /dev/null
+++ b/applications/subscriberPortal/src/cord.js
@@ -0,0 +1,136 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+(function () {
+  'use strict';
+
+  var modules = [
+      'ngRoute',
+      'ngResource',
+      'ngAnimate',
+      'ngCookies',
+      'cordRest',
+      'cordMast',
+      'cordFoot',
+      'cordNav',
+      'cordLogin',
+      'cordHome',
+      'cordUser',
+      'cordBundle'
+    ];
+
+  angular.module('cordGui', modules)
+    .config(function ($routeProvider, $httpProvider) {
+
+      $httpProvider.interceptors.push('SetCSRFToken');
+
+      $routeProvider
+        .when('/login', {
+          controller: 'CordLoginCtrl',
+          controllerAs: 'ctrl',
+          templateUrl: 'app/view/login/login.html'
+        })
+        .when('/home', {
+          controller: 'CordHomeCtrl',
+          controllerAs: 'ctrl',
+          templateUrl: 'app/view/home/home.html'
+        })
+        .when('/user', {
+          controller: 'CordUserCtrl',
+          controllerAs: 'ctrl',
+          templateUrl: 'app/view/user/user.html'
+        })
+        .when('/bundle', {
+          controller: 'CordBundleCtrl',
+          controllerAs: 'ctrl',
+          templateUrl: 'app/view/bundle/bundle.html'
+        })
+        .otherwise({
+          redirectTo: '/login'
+        });
+    })
+    .controller('CordCtrl', function ($scope, $location, cordConfig) {
+      $scope.shared = {
+        url: 'http://' + $location.host() + ':' + $location.port()
+      };
+      $scope.shared.userActivity = cordConfig.userActivity;
+      $scope.page = {};
+    })
+    .constant('cordConfig', {
+      url: '',
+      userActivity: {}, //check if really needed
+      activeBundle: 1,
+      bundles: [
+        {
+          "id": "family",
+          "name": "Family Bundle",
+          "desc": "Description for family bundle",
+          "functions": [
+            {
+              "id": "internet",
+              "name": "Internet",
+              "desc": "Basic internet connectivity.",
+              "params": {}
+            },
+            {
+              "id": "firewall",
+              "name": "Firewall",
+              "desc": "Normal firewall protection.",
+              "params": {}
+            },
+            {
+              "id": "url_filter",
+              "name": "Parental Control",
+              "desc": "Variable levels of URL filtering.",
+              "params": {
+                "level": "PG",
+                "levels": [ "PG", "PG_13", "R" ]
+              }
+            }
+          ]
+        },
+        {
+          "id": "basic",
+          "name": "Basic Bundle",
+          "desc": "Description for basic bundle",
+          "functions": [
+            {
+              "id": "internet",
+              "name": "Internet",
+              "desc": "Basic internet connectivity.",
+              "params": {}
+            },
+            {
+              "id": "firewall",
+              "name": "Firewall",
+              "desc": "Normal firewall protection.",
+              "params": {}
+            }
+          ]
+        }
+      ]
+    })
+    .run(function($rootScope, $location, cordConfig, User){
+      cordConfig.url = 'http://' + $location.host() + ':' + $location.port();
+
+      // basic authentication
+      $rootScope.$on('$routeChangeStart', function(next, current) {
+        if(!User.isLoggedIn()){
+          $location.path('/login');
+        }
+      });
+    });
+}());
diff --git a/applications/subscriberPortal/src/imgs/bird.png b/applications/subscriberPortal/src/imgs/bird.png
new file mode 100644
index 0000000..8688cd6
--- /dev/null
+++ b/applications/subscriberPortal/src/imgs/bird.png
Binary files differ
diff --git a/applications/subscriberPortal/src/imgs/boy2.jpg b/applications/subscriberPortal/src/imgs/boy2.jpg
new file mode 100644
index 0000000..8b8ea58
--- /dev/null
+++ b/applications/subscriberPortal/src/imgs/boy2.jpg
Binary files differ
diff --git a/applications/subscriberPortal/src/imgs/bundle.jpg b/applications/subscriberPortal/src/imgs/bundle.jpg
new file mode 100644
index 0000000..8ea09f9
--- /dev/null
+++ b/applications/subscriberPortal/src/imgs/bundle.jpg
Binary files differ
diff --git a/applications/subscriberPortal/src/imgs/dad.jpg b/applications/subscriberPortal/src/imgs/dad.jpg
new file mode 100644
index 0000000..f7b84ad
--- /dev/null
+++ b/applications/subscriberPortal/src/imgs/dad.jpg
Binary files differ
diff --git a/applications/subscriberPortal/src/imgs/firewall.png b/applications/subscriberPortal/src/imgs/firewall.png
new file mode 100644
index 0000000..2da59f0
--- /dev/null
+++ b/applications/subscriberPortal/src/imgs/firewall.png
Binary files differ
diff --git a/applications/subscriberPortal/src/imgs/girl1.jpg b/applications/subscriberPortal/src/imgs/girl1.jpg
new file mode 100644
index 0000000..aeb9f64
--- /dev/null
+++ b/applications/subscriberPortal/src/imgs/girl1.jpg
Binary files differ
diff --git a/applications/subscriberPortal/src/imgs/home.jpg b/applications/subscriberPortal/src/imgs/home.jpg
new file mode 100644
index 0000000..050da93
--- /dev/null
+++ b/applications/subscriberPortal/src/imgs/home.jpg
Binary files differ
diff --git a/applications/subscriberPortal/src/imgs/icon-saved.gif b/applications/subscriberPortal/src/imgs/icon-saved.gif
new file mode 100644
index 0000000..fafa659
--- /dev/null
+++ b/applications/subscriberPortal/src/imgs/icon-saved.gif
Binary files differ
diff --git a/applications/subscriberPortal/src/imgs/internet.png b/applications/subscriberPortal/src/imgs/internet.png
new file mode 100644
index 0000000..0644c59
--- /dev/null
+++ b/applications/subscriberPortal/src/imgs/internet.png
Binary files differ
diff --git a/applications/subscriberPortal/src/imgs/login.jpg b/applications/subscriberPortal/src/imgs/login.jpg
new file mode 100644
index 0000000..5acb7bd
--- /dev/null
+++ b/applications/subscriberPortal/src/imgs/login.jpg
Binary files differ
diff --git a/applications/subscriberPortal/src/imgs/logo.png b/applications/subscriberPortal/src/imgs/logo.png
new file mode 100644
index 0000000..f8b11df
--- /dev/null
+++ b/applications/subscriberPortal/src/imgs/logo.png
Binary files differ
diff --git a/applications/subscriberPortal/src/imgs/mom.jpg b/applications/subscriberPortal/src/imgs/mom.jpg
new file mode 100644
index 0000000..c56e869
--- /dev/null
+++ b/applications/subscriberPortal/src/imgs/mom.jpg
Binary files differ
diff --git a/applications/subscriberPortal/src/imgs/url_filter.png b/applications/subscriberPortal/src/imgs/url_filter.png
new file mode 100644
index 0000000..c5c8960
--- /dev/null
+++ b/applications/subscriberPortal/src/imgs/url_filter.png
Binary files differ
diff --git a/applications/subscriberPortal/src/index.html b/applications/subscriberPortal/src/index.html
new file mode 100644
index 0000000..b00e425
--- /dev/null
+++ b/applications/subscriberPortal/src/index.html
@@ -0,0 +1,106 @@
+<!DOCTYPE html>
+<!--
+~ Copyright 2015 Open Networking Laboratory
+~
+~ Licensed under the Apache License, Version 2.0 (the "License");
+~ you may not use this file except in compliance with the License.
+~ You may obtain a copy of the License at
+~
+~     http://www.apache.org/licenses/LICENSE-2.0
+~
+~ Unless required by applicable law or agreed to in writing, software
+~ distributed under the License is distributed on an "AS IS" BASIS,
+~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+~ See the License for the specific language governing permissions and
+~ limitations under the License.
+~
+-->
+<html>
+<head>
+    <meta charset="utf-8">
+    <link rel="shortcut icon" href="imgs/bird.png">
+
+    <title>CORD Subscriber Portal</title>
+
+    <script src="bower_components/angular/angular.js"></script>
+    <script src="bower_components/angular-route/angular-route.js"></script>
+    <script src="bower_components/angular-animate/angular-animate.js"></script>
+    <script src="bower_components/angular-resource/angular-resource.js"></script>
+    <script src="bower_components/angular-cookies/angular-cookies.js"></script>
+    <script src="bower_components/jquery/dist/jquery.js"></script>
+
+    <script src="cord.js"></script>
+    <script src="app/fw/services/rest.js"></script>
+    <script src="app/fw/services/helpers.js"></script>
+    <link rel="stylesheet" href="app/view/common/common.css">
+
+    <script src="app/fw/mast/mast.js"></script>
+    <link rel="stylesheet" href="app/fw/mast/mast.css">
+    <script src="app/fw/foot/foot.js"></script>
+    <link rel="stylesheet" href="app/fw/foot/foot.css">
+
+    <script src="app/fw/nav/nav.js"></script>
+    <link rel="stylesheet" href="app/fw/nav/nav.css">
+
+    <script src="app/fw/icon/icon.js"></script>
+
+    <script src="app/view/login/login.js"></script>
+    <link rel="stylesheet" href="app/view/login/login.css">
+
+    <script src="app/view/home/home.js"></script>
+    <link rel="stylesheet" href="app/view/home/home.css">
+
+    <script src="app/view/user/user.js"></script>
+    <link rel="stylesheet" href="app/view/user/user.css">
+
+    <script src="app/view/bundle/bundle.js"></script>
+    <link rel="stylesheet" href="app/view/bundle/bundle.css">
+
+</head>
+<body ng-app="cordGui">
+<div id="frame" ng-controller="CordCtrl as cordCtrl">
+
+<mast></mast>
+<foot></foot>
+    <div id="view" ng-view></div>
+
+        <svg id="icon-defs">
+            <defs>
+                <symbol id="bird" viewBox="352 224 113 112">
+                    <path d="M427.7,300.4 c-6.9,0.6-13.1,5-19.2,7.1c-18.1,6.2-33.9,
+                    9.1-56.5,4.7c24.6,17.2,36.6,13,63.7,0.1c-0.5,0.6-0.7,1.3-1.3,
+                    1.9c1.4-0.4,2.4-1.7,3.4-2.2c-0.4,0.7-0.9,1.5-1.4,1.9c2.2-0.6,
+                    3.7-2.3,5.9-3.9c-2.4,2.1-4.2,5-6,8c-1.5,2.5-3.1,4.8-5.1,6.9c-1,
+                    1-1.9,1.9-2.9,2.9c-1.4,1.3-2.9,2.5-5.1,2.9c1.7,0.1,3.6-0.3,6.5
+                    -1.9c-1.6,2.4-7.1,6.2-9.9,7.2c10.5-2.6,19.2-15.9,25.7-18c18.3
+                    -5.9,13.8-3.4,27-14.2c1.6-1.3,3-1,5.1-0.8c1.1,0.1,2.1,0.3,3.2,
+                    0.5c0.8,0.2,1.4,0.4,2.2,0.8l1.8,0.9c-1.9-4.5-2.3-4.1-5.9-6c-2.3
+                    -1.3-3.3-3.8-6.2-4.9c-7.1-2.6-11.9,11.7-11.7-5c0.1-8,4.2-14.4,
+                    6.4-22c1.1-3.8,2.3-7.6,2.4-11.5c0.1-2.3,0-4.7-0.4-7c-2-11.2-8.4
+                    -21.5-19.7-24.8c-1-0.3-1.1-0.3-0.9,0c9.6,17.1,7.2,38.3,3.1,54.2
+                    C429.9,285.5,426.7,293.2,427.7,300.4z"></path>
+                </symbol>
+                <symbol id="checkMark" viewBox="0 0 10 10">
+                    <path d="M2.6,4.5c0,0,0.7-0.4,1.2,0.3l1.0,1.8c0,0,2.7-5.4,2.8-5.7c
+                    0,0,0.5-0.9,1.4-0.1c0,0,0.5,0.5,0,1.3S6.8,7.3,5.6,9.2c0,0-0.4,0.5
+                    -1.2,0.1S2.2,5.4,2.2,5.4S2.2,4.7,2.6,4.5z"></path>
+                </symbol>
+                <symbol id="xMark" viewBox="0 0 10 10">
+                    <path d="M9.0,7.2C8.2,6.9,7.4,6.1,6.7,5.2c0.4-0.5,0.7-0.8,0.8-1.0C
+                    7.8,3.5,9.4,1.6,8.1,1.1C6.8,0.6,6.6,1.7,6.6,1.7C6.4,2.1,6.0,2.7,
+                    5.4,3.4C4.9,2.5,4.5,1.9,4.5,1.9S3.8,0.2,2.9,0.7C1.9,1.1,2.3,2.3,
+                    2.3,2.3c0.3,1.1,0.8,2.1,1.4,2.9C2.5,6.4,1.3,7.4,1.3,7.4S0.8,7.8,
+                    0.8,8.1C0.9,8.3,0.9,9.6,2.4,9.1C3.1,8.8,4.1,7.9,5.1,7.0c1.3,1.3,
+                    2.5,1.9,2.5,1.9s0.5,0.5,1.4-0.2C9.8,7.9,9.0,7.2,9.0,7.2z"></path>
+                </symbol>
+            </defs>
+        </svg>
+    </div>
+
+    <script type='text/javascript' id="__bs_script__">
+        //<![CDATA[
+        document.write("<script async src='http://HOST:3000/browser-sync/browser-sync-client.2.11.1.js'><\/script>".replace("HOST", location.hostname));
+        //]]>
+    </script>
+</body>
+</html>
diff --git a/containers/xos/Dockerfile b/containers/xos/Dockerfile
index 7e9db23..f65eb37 100644
--- a/containers/xos/Dockerfile
+++ b/containers/xos/Dockerfile
@@ -1,4 +1,4 @@
-FROM       ubuntu:14.04.2
+FROM       ubuntu:14.04.3
 
 # XXX Workaround for docker bug:
 # https://github.com/docker/docker/issues/6345
@@ -70,7 +70,7 @@
     google_api_python_client \
     httplib2.ca_certs_locater
 
-ADD http://code.jquery.com/jquery-1.9.1.min.js /usr/local/lib/python2.7/site-packages/suit/static/suit/js/
+ADD http://code.jquery.com/jquery-1.9.1.min.js /usr/local/lib/python2.7/dist-packages/suit/static/suit/js/
 
 # Install XOS
 RUN git clone git://github.com/open-cloud/xos.git /tmp/xos && \
@@ -86,10 +86,9 @@
 
 # Set environment variables.
 ENV HOME /root
-ENV PYTHONPATH /usr/local/lib/python2.7/site-packages:/usr/lib/python2.7/dist-packages
 
 # Define working directory.
 WORKDIR /opt/xos
 
 # Define default command.
-CMD update-ca-certificates && python manage.py runserver 0.0.0.0:8000 --insecure
+CMD update-ca-certificates && python /opt/xos/manage.py runserver 0.0.0.0:8000 --insecure --makemigrations
diff --git a/containers/xos/Dockerfile.devel b/containers/xos/Dockerfile.devel
index 93f5025..a8a9710 100644
--- a/containers/xos/Dockerfile.devel
+++ b/containers/xos/Dockerfile.devel
@@ -1,4 +1,4 @@
-FROM       python:2.7.11
+FROM       ubuntu:14.04.3
 
 # XXX Workaround for docker bug:
 # https://github.com/docker/docker/issues/6345
@@ -70,7 +70,7 @@
     google_api_python_client \
     httplib2.ca_certs_locater
 
-ADD http://code.jquery.com/jquery-1.9.1.min.js /usr/local/lib/python2.7/site-packages/suit/static/suit/js/
+ADD http://code.jquery.com/jquery-1.9.1.min.js /usr/local/lib/python2.7/dist-packages/suit/static/suit/js/
 
 # Install XOS
 ADD xos /opt/xos
@@ -85,10 +85,9 @@
 
 # Set environment variables.
 ENV HOME /root
-ENV PYTHONPATH /usr/local/lib/python2.7/site-packages:/usr/lib/python2.7/dist-packages
 
 # Define working directory.
 WORKDIR /opt/xos
 
 # Define default command.
-CMD update-ca-certificates && python manage.py runserver 0.0.0.0:8000 --insecure
+CMD update-ca-certificates && python /opt/xos/manage.py runserver 0.0.0.0:8000 --insecure --makemigrations
diff --git a/containers/xos/Dockerfile.templ b/containers/xos/Dockerfile.templ
index 828c16b..25270a6 100644
--- a/containers/xos/Dockerfile.templ
+++ b/containers/xos/Dockerfile.templ
@@ -65,7 +65,7 @@
     pyyaml \
     requests
 
-ADD http://code.jquery.com/jquery-1.9.1.min.js /usr/local/lib/python2.7/site-packages/suit/static/suit/js/
+ADD http://code.jquery.com/jquery-1.9.1.min.js /usr/local/lib/python2.7/dist-packages/suit/static/suit/js/
 
 # Install XOS
 RUN git clone XOS_GIT_REPO -b XOS_GIT_BRANCH /tmp/xos && \
@@ -80,10 +80,9 @@
 
 # Set environment variables.
 ENV HOME /root
-ENV PYTHONPATH /usr/local/lib/python2.7/site-packages:/usr/lib/python2.7/dist-packages
 
 # Define working directory.
 WORKDIR /root
 
 # Define default command.
-CMD python /opt/xos/manage.py runserver 0.0.0.0:8000 --insecure
+CMD update-ca-certificates && python /opt/xos/manage.py runserver 0.0.0.0:8000 --insecure --makemigrations
diff --git a/views/.yo-rc.json b/views/.yo-rc.json
new file mode 100644
index 0000000..33606db
--- /dev/null
+++ b/views/.yo-rc.json
@@ -0,0 +1,6 @@
+{
+  "generator-xos": {
+    "name": "sampleView",
+    "folder": "ngXosViews"
+  }
+}
\ No newline at end of file
diff --git a/views/README.md b/views/README.md
new file mode 100644
index 0000000..fb0c5bc
--- /dev/null
+++ b/views/README.md
@@ -0,0 +1,133 @@
+# ngXosLib
+
+This is a collection of helpers to develop views as Angular SPA.
+
+## Tools
+
+These tools are designed to help develop a graphical view. They assume XOS is running on your system and responding at: `localhost:9999`. The `xos/configurations/frontend` is normally sufficient for GUI development.
+
+### Apigen
+
+Usage: `npm run apigen`
+
+This tool generates an angular resource file for each endpoint available in Swagger.
+
+>You can generate api related documentation with: `npm run apidoc`. The output is locate in `api/docs`. You can also see a list of available methods through Swagger at `http://localhost:9999/docs/`
+
+### Vendors
+
+XOS comes with a set of common libraries, as listed in `bower.json`:
+- angular
+- angular-route
+- angular-resource
+- angular-cookie
+- ng-lodash
+
+These libraries are served through Django, so they are not included in your minified vendor file. To add a library and generate a new file (that will override the old one):
+- enter `ngXosLib` folder
+- run `bower install [myPackage] --save`
+- rebuild the file with `gulp vendor`
+
+>_NOTE before adding libraries please discuss it on the devel list to avoid this file becoming too big_
+
+### Helpers
+
+XOS comes with a helper library that is automatically loaded in the Django template.
+
+To use it, add `xos.helpers` to your required modules:
+
+```
+angular.module('xos.myView', [
+  'xos.helpers'
+])
+```
+
+It will automatically add a `token` to all your requests. Eventually you can take advantage of some other services:
+
+- **NoHyperlinks Interceptor**: will add a `?no_hyperlinks=1` to your request, to tell Django to return ids instead of links.
+- **XosApi** wrapper for `/xos` endpoints.
+- **XoslibApi** wrapper for `/xoslib` endpoints.
+- **HpcApi** wrapper for `/hpcapi` endpoints.
+
+>_NOTE: for the API related service, check the documentation in Section [Apigen](#apigen)._
+
+# ngXosViews
+
+In addition to auto-generated Django Admin Views and developer-defined Service Views, a set of custom views can be generate in XOS.
+
+These views are based on AngularJs and they communicate with XOS through the REST APIs, providing a powerful and flexible way to present and manage data.
+
+## How to Create a View
+
+### Getting Started
+
+We have created a [yeoman](http://yeoman.io/) generator to help scaffold views.
+
+>As it is in an early stage of development, you should manually link it to your system. To do this enter `/views/ngXosLib/generator-xos` and run `npm link`.
+
+#### To Generate a New View
+
+From `/views` run `yo xos`. This command will create a new folder with the provided name in `/views/ngXosViews` that contains your application.
+
+>If you left View name empty it should be `/views/ngXosViews/sampleView`
+
+#### Run a Development Server
+
+In your `view` folder run `npm start`.
+
+This will install the required dependencies and start a local server with [BrowserSync](http://www.browsersync.io/).
+
+#### Publish Your View
+
+Once your view is done, from your view root folder, run: `npm run build`.
+
+This will build your application and copy files in the appropriate directories for use by Django.
+
+At this point you can enter: `http://localhost:9999/admin/core/dashboardview/add/` and add your custom view.
+
+>_NOTE: url field should be `template:xosSampleView`_
+
+##### Add This View to a Configuration Setup
+
+You can easily set this as a default view in a configuration by editing the `{config}.yml` file for that configuration. Add these lines:
+
+```
+{TabName}:                                    
+  type: tosca.nodes.DashboardView              
+  properties:                                  
+      url: template:{viewName}     
+```
+
+Then edit the _User_ section (normally it starts with `padmin@vicci.org`) as follows:
+
+```
+padmin@vicci.org:                                          
+  type: tosca.nodes.User                                   
+  properties:                                              
+      firstname: XOS                                       
+      lastname: admin                                      
+      is_admin: true                                       
+  requirements:                                            
+      - tenant_dashboard:                                  
+          node: Tenant                                     
+          relationship: tosca.relationships.UsesDashboard  
+      - {custom_dashboard}:                              
+          node: {TabName}                                 
+          relationship: tosca.relationships.UsesDashboard  
+```
+
+#### Install Dependencies in Your App
+
+To install a local dependency use bower with `--save`. Common modules are saved in `devDependencies` as they already loaded in the Django template.
+
+The `npm start` command watches your dependencies and will automatically inject it in your `index.html`.
+
+#### Linting
+
+A styleguide is enforced through [EsLint](http://eslint.org/) and is checked during the build process. We **highly** recommend installing the linter in your editor to have realtime hints.
+
+#### Test
+
+The generator sets up a test environment with a default test.
+To run it, execute: `npm test`
+
diff --git a/views/ngXosLib/xosHelpers/src/services/api.services.js b/views/ngXosLib/xosHelpers/src/services/api.services.js
index 7a4baba..c7384f8 100644
--- a/views/ngXosLib/xosHelpers/src/services/api.services.js
+++ b/views/ngXosLib/xosHelpers/src/services/api.services.js
@@ -29,4 +29,4 @@
       }
       return hpcApiCache;
     }
-})();
\ No newline at end of file
+})();
diff --git a/xos-apps/README.md b/xos-apps/README.md
deleted file mode 100644
index 66d71eb..0000000
--- a/xos-apps/README.md
+++ /dev/null
@@ -1,10 +0,0 @@
-## Applications on XOS
-
-This directory may prove to be unnecessary, but for now we
-are using it for applications that run on top of the XOS API.
-Initially, this includes only an auto-scaling app that uses
-monitoring data to decide when to scale a service up/down.
-
-This is treated as an application rather than yet another
-service because it offers only a GUI front-end; it is not
-modelled as a service that other services can build upon.
diff --git a/xos/configurations/common/Makefile.devstack b/xos/configurations/common/Makefile.devstack
index e60434e..0dff27c 100644
--- a/xos/configurations/common/Makefile.devstack
+++ b/xos/configurations/common/Makefile.devstack
@@ -15,7 +15,7 @@
 
 flat_name:
 	echo private|tr -d '\n' > $(SETUPDIR)/flat_net_name
-	bash -c "source $(SETUPDIR)/admin-openrc.sh; openstack network set --share private"
+	bash -c "source $(SETUPDIR)/admin-openrc.sh; neutron net-update private --shared"
 
 nodes_yaml:
 	export SETUPDIR=$(SETUPDIR); bash ./make-nodes-yaml.sh
diff --git a/xos/configurations/cord/Dockerfile.cord b/xos/configurations/cord/Dockerfile.cord
index 9fde1b0..3e63eb2 100644
--- a/xos/configurations/cord/Dockerfile.cord
+++ b/xos/configurations/cord/Dockerfile.cord
@@ -4,21 +4,21 @@
 ADD xos/configurations/common/flat_net_name /root/setup/
 ADD xos/configurations/common/nodes.yaml /opt/xos/configurations/commmon/
 ADD xos/configurations/common/id_rsa.pub /root/setup/padmin_public_key
-ADD xos/configurations/common/id_rsa.pub /opt/xos/observers/vcpe/vcpe_public_key
-ADD xos/configurations/common/id_rsa /opt/xos/observers/vcpe/vcpe_private_key
-ADD xos/configurations/common/id_rsa.pub /opt/xos/observers/monitoring_channel/monitoring_channel_public_key
-ADD xos/configurations/common/id_rsa /opt/xos/observers/monitoring_channel/monitoring_channel_private_key
-ADD xos/configurations/common/id_rsa.pub /opt/xos/observers/onos/onos_key.pub
-ADD xos/configurations/common/id_rsa /opt/xos/observers/onos/onos_key
+ADD xos/configurations/common/id_rsa.pub /opt/xos/synchronizers/vcpe/vcpe_public_key
+ADD xos/configurations/common/id_rsa /opt/xos/synchronizers/vcpe/vcpe_private_key
+ADD xos/configurations/common/id_rsa.pub /opt/xos/synchronizers/monitoring_channel/monitoring_channel_public_key
+ADD xos/configurations/common/id_rsa /opt/xos/synchronizers/monitoring_channel/monitoring_channel_private_key
+ADD xos/configurations/common/id_rsa.pub /opt/xos/synchronizers/onos/onos_key.pub
+ADD xos/configurations/common/id_rsa /opt/xos/synchronizers/onos/onos_key
 ADD xos/configurations/common/node_key.pub /root/setup/node_key.pub
 ADD xos/configurations/common/node_key /root/setup/node_key
 ADD xos/configurations/common/ceilometer_url /root/setup/ceilometer_url
-ADD xos/observers/vcpe/supervisor/vcpe-observer.conf /etc/supervisor/conf.d/
-ADD xos/observers/vbng/supervisor/vbng-observer.conf /etc/supervisor/conf.d/
-ADD xos/observers/onos/supervisor/onos-observer.conf /etc/supervisor/conf.d/
-ADD xos/observers/monitoring_channel/supervisor/monitoring_channel_observer.conf /etc/supervisor/conf.d/
-RUN sed -i 's/proxy_ssh=True/proxy_ssh=False/' /opt/xos/observers/vcpe/vcpe_observer_config
-RUN sed -i 's/proxy_ssh=True/proxy_ssh=False/' /opt/xos/observers/monitoring_channel/monitoring_channel_observer_config
+ADD xos/synchronizers/vcpe/supervisor/vcpe-observer.conf /etc/supervisor/conf.d/
+ADD xos/synchronizers/vbng/supervisor/vbng-observer.conf /etc/supervisor/conf.d/
+ADD xos/synchronizers/onos/supervisor/onos-observer.conf /etc/supervisor/conf.d/
+ADD xos/synchronizers/monitoring_channel/supervisor/monitoring_channel_observer.conf /etc/supervisor/conf.d/
+RUN sed -i 's/proxy_ssh=True/proxy_ssh=False/' /opt/xos/synchronizers/vcpe/vcpe_synchronizer_config
+RUN sed -i 's/proxy_ssh=True/proxy_ssh=False/' /opt/xos/synchronizers/monitoring_channel/monitoring_channel_synchronizer_config
 ADD xos/configurations/cord/virtualbng.json /root/setup/
 ADD xos/configurations/cord/vtn-network-cfg.json /root/setup/
 
diff --git a/xos/configurations/cord/ceilometer.yaml b/xos/configurations/cord/ceilometer.yaml
index 82e697a..0ea5cbd 100644
--- a/xos/configurations/cord/ceilometer.yaml
+++ b/xos/configurations/cord/ceilometer.yaml
@@ -26,7 +26,7 @@
           kind: ceilometer
 #          public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
 #      artifacts:
-#          pubkey: /opt/xos/observers/vcpe/vcpe_public_key
+#          pubkey: /opt/xos/synchronizers/vcpe/vcpe_public_key
 
 
     Private:
diff --git a/xos/configurations/cord/cord.yaml b/xos/configurations/cord/cord.yaml
index 8aa4676..565c419 100644
--- a/xos/configurations/cord/cord.yaml
+++ b/xos/configurations/cord/cord.yaml
@@ -34,9 +34,9 @@
           view_url: /admin/cord/vcpeservice/$id$/
           backend_network_label: hpc_client
           public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
-          private_key_fn: /opt/xos/observers/vcpe/vcpe_private_key
+          private_key_fn: /opt/xos/synchronizers/vcpe/vcpe_private_key
       artifacts:
-          pubkey: /opt/xos/observers/vcpe/vcpe_public_key
+          pubkey: /opt/xos/synchronizers/vcpe/vcpe_public_key
 
     service_vbng:
       type: tosca.nodes.VBNGService
@@ -54,7 +54,7 @@
           view_url: /admin/onos/onosservice/$id$/
           public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
       artifacts:
-          pubkey: /opt/xos/observers/onos/onos_key.pub
+          pubkey: /opt/xos/synchronizers/onos/onos_key.pub
 
 #
 # To actually bring up the vBNG app
@@ -118,13 +118,13 @@
                     "defaultVlan" : "1"
                   },
                   "basic" : {
-                    "driver" : "default"
+                    "driver" : "pmc-olt"
                   }
                 }
               }
             }
       artifacts:
-          pubkey: /opt/xos/observers/onos/onos_key.pub
+          pubkey: /opt/xos/synchronizers/onos/onos_key.pub
 
 
     vOLT_ONOS_app:
@@ -137,7 +137,21 @@
               node: service_volt
               relationship: tosca.relationships.UsedByService
       properties:
-          dependencies: org.onosproject.openflow-base, org.onosproject.olt
+          install_dependencies: onos-ext-notifier-1.0-SNAPSHOT.oar, onos-ext-volt-event-publisher-1.0-SNAPSHOT.oar
+          dependencies: org.onosproject.openflow-base, org.onosproject.olt, org.ciena.onos.ext_notifier, org.ciena.onos.volt_event_publisher
+          component_config: >
+             {
+                "org.ciena.onos.ext_notifier.KafkaNotificationBridge":{
+                   "rabbit.user": "<rabbit_user>",
+                   "rabbit.password": "<rabbit_password>",
+                   "rabbit.host": "<rabbit_host>",
+                   "publish.rabbit": "true",
+                   "volt.events.rabbit.topic": "notifications.info",
+                   "volt.events.rabbit.exchange": "voltlistener",
+                   "volt.events.opaque.info": "{project_id: <keystone_tenant_id>, user_id: <keystone_user_id>}",
+                   "publish.volt.events": "true"
+                }
+             }
 #          config_network-cfg.json: >
 #            {
 #              "devices" : {
@@ -439,6 +453,18 @@
         path: andybavier/docker-vcpe
         tag: develop
 
+    # Let's add a user who can be administrator of the household
+    johndoe@myhouse.com:
+      type: tosca.nodes.User
+      properties:
+          password: letmein
+          firstname: john
+          lastname: doe
+      requirements:
+          - site:
+              node: mysite
+              relationship: tosca.relationships.MemberOfSite
+
     # A subscriber
     My House:
        type: tosca.nodes.CORDSubscriber
@@ -448,6 +474,10 @@
            cdn_enable: false
            url_filter_enable: false
            url_filter_level: R
+       requirements:
+          - house_admin:
+              node: johndoe@myhouse.com
+              relationship: tosca.relationships.AdminPrivilege
 
     Mom's PC:
        type: tosca.nodes.CORDUser
diff --git a/xos/configurations/cord/docker-compose.yml b/xos/configurations/cord/docker-compose.yml
index 3518f80..bfb04b8 100644
--- a/xos/configurations/cord/docker-compose.yml
+++ b/xos/configurations/cord/docker-compose.yml
@@ -29,7 +29,7 @@
     extra_hosts:
         - ctl:${MYIP}
     volumes:
-        - ../setup/id_rsa:/opt/xos/observers/onos/onos_key:ro  # private key
+        - ../setup/id_rsa:/opt/xos/synchronizers/onos/onos_key:ro  # private key
 
 xos_synchronizer_vcpe:
     image: xosproject/xos-synchronizer-openstack
@@ -42,7 +42,7 @@
     extra_hosts:
         - ctl:${MYIP}
     volumes:
-        - ../setup/id_rsa:/opt/xos/observers/vcpe/vcpe_private_key:ro  # private key
+        - ../setup/id_rsa:/opt/xos/synchronizers/vcpe/vcpe_private_key:ro  # private key
         - ../setup:/root/setup:ro
 
 xos_synchronizer_vbng:
@@ -67,7 +67,7 @@
     extra_hosts:
         - ctl:${MYIP}
     volumes:
-        - ../setup/id_rsa:/opt/xos/observers/monitoring_channel/monitoring_channel_private_key:ro  # private key
+        - ../setup/id_rsa:/opt/xos/synchronizers/monitoring_channel/monitoring_channel_private_key:ro  # private key
 
 
 # FUTURE
@@ -88,6 +88,6 @@
       - ../setup:/root/setup:ro
       - ../common/xos_common_config:/opt/xos/xos_configuration/xos_common_config:ro
       - ./xos_cord_config:/opt/xos/xos_configuration/xos_cord_config:ro
-      - ../setup/id_rsa.pub:/opt/xos/observers/onos/onos_key.pub:ro
-      - ../setup/id_rsa.pub:/opt/xos/observers/vcpe/vcpe_public_key:ro
-      - ../setup/id_rsa.pub:/opt/xos/observers/monitoring_channel/monitoring_channel_public_key:ro
+      - ../setup/id_rsa.pub:/opt/xos/synchronizers/onos/onos_key.pub:ro
+      - ../setup/id_rsa.pub:/opt/xos/synchronizers/vcpe/vcpe_public_key:ro
+      - ../setup/id_rsa.pub:/opt/xos/synchronizers/monitoring_channel/monitoring_channel_public_key:ro
diff --git a/xos/configurations/frontend/docker-compose.yml b/xos/configurations/frontend/docker-compose.yml
index 2779deb..95dfe8a 100644
--- a/xos/configurations/frontend/docker-compose.yml
+++ b/xos/configurations/frontend/docker-compose.yml
@@ -20,4 +20,4 @@
         - xos_db
     volumes:
       - ../common/xos_common_config:/opt/xos/xos_configuration/xos_common_config:ro
-      - ../../core/xoslib:/opt/xos/core/xoslib:ro
+      - ../../core/xoslib:/opt/xos/core/xoslib
diff --git a/xos/configurations/opencloud/Makefile b/xos/configurations/opencloud/Makefile
new file mode 100644
index 0000000..aef4946
--- /dev/null
+++ b/xos/configurations/opencloud/Makefile
@@ -0,0 +1,35 @@
+xos:
+	sudo docker-compose up -d
+	bash ./wait_for_xos.sh
+	sudo docker-compose run xos python /opt/xos/tosca/run.py padmin@vicci.org /opt/xos/configurations/opencloud/opencloud.yaml
+
+containers:
+	cd ../../../containers/xos; make devel
+	cd ../../../containers/synchronizer; make
+
+stop:
+	sudo docker-compose stop
+
+showlogs:
+	sudo docker-compose logs
+
+rm: stop
+	sudo docker-compose rm
+
+ps:
+	sudo docker-compose ps
+
+enter-xos:
+	sudo docker exec -it devel_xos_1 bash
+
+enter-synchronizer:
+	sudo docker exec -it devel_xos_synchronizer_openstack_1 bash
+
+upgrade_pkgs:
+	sudo pip install httpie --upgrade
+
+rebuild_xos:
+	make -C ../../../containers/xos devel
+
+rebuild_synchronizer:
+	make -C ../../../containers/synchronizer
diff --git a/xos/configurations/opencloud/README.md b/xos/configurations/opencloud/README.md
new file mode 100644
index 0000000..97449ed
--- /dev/null
+++ b/xos/configurations/opencloud/README.md
@@ -0,0 +1,24 @@
+# XOS OpenCloud Portal
+
+This configuration can be used to bring up XOS on the OpenCloud portal.  It launches
+XOS in three Docker containers (development GUI, Synchronizer, database) and configures XOS
+with the `opencloud.yaml` TOSCA file in this directory.  *docker-compose* is used to manage
+the containers.
+
+## Docker Helpers
+
+Stop the containers: `make stop`
+
+Restart the containers: `make stop; make`
+
+Delete the containers and relaunch them: `make rm; make`
+
+Build the containers from scratch using the local XOS source tree: `make containers`
+
+View logs: `make showlogs`
+
+See what containers are running: `make ps`
+
+Open a shell on the XOS container: `make enter-xos`
+
+Open a shell on the Synchronizer container: `make enter-synchronizer`
diff --git a/xos/configurations/opencloud/docker-compose.yml b/xos/configurations/opencloud/docker-compose.yml
new file mode 100644
index 0000000..828175e
--- /dev/null
+++ b/xos/configurations/opencloud/docker-compose.yml
@@ -0,0 +1,34 @@
+xos_db:
+    image: xosproject/xos-postgres
+    expose:
+        - "5432"
+
+xos_synchronizer_openstack:
+    image: xosproject/xos-synchronizer-openstack
+    #command: bash -c "update-ca-certificates; sleep 120; python /opt/xos/synchronizers/openstack/xos-synchronizer.py"
+    command: sleep 86400
+    labels:
+        org.xosproject.kind: synchronizer
+        org.xosproject.target: openstack
+    links:
+        - xos_db
+    volumes:
+        - ../common/xos_common_config:/opt/xos/xos_configuration/xos_common_config:ro
+        - /usr/local/share/ca-certificates:/usr/local/share/ca-certificates:ro
+
+# FUTURE
+#xos_swarm_synchronizer:
+#    image: xosproject/xos-swarm-synchronizer
+#    labels:
+#        org.xosproject.kind: synchronizer
+#        org.xosproject.target: swarm
+
+xos:
+    image: xosproject/xos
+    command: python /opt/xos/manage.py runserver 0.0.0.0:8000 --insecure --makemigrations
+    ports:
+        - "80:8000"
+    links:
+        - xos_db
+    volumes:
+      - ../common/xos_common_config:/opt/xos/xos_configuration/xos_common_config:ro
diff --git a/xos/configurations/opencloud/opencloud.yaml b/xos/configurations/opencloud/opencloud.yaml
index 15142a6..0b4a3ed 100644
--- a/xos/configurations/opencloud/opencloud.yaml
+++ b/xos/configurations/opencloud/opencloud.yaml
@@ -329,6 +329,7 @@
       properties:
           display_name: I2-atl
           site_url: http://opencloud.us/
+          hosts_nodes: false 
       requirements:
           - deployment:
                node: backbone
@@ -343,6 +344,7 @@
       properties:
           display_name: I2-chi
           site_url: http://opencloud.us/
+          hosts_nodes: false 
       requirements:
           - deployment:
                node: backbone
@@ -357,6 +359,7 @@
       properties:
           display_name: I2-hou
           site_url: http://opencloud.us/
+          hosts_nodes: false 
       requirements:
           - deployment:
                node: backbone
@@ -371,6 +374,7 @@
       properties:
           display_name: I2-kas
           site_url: http://opencloud.us/
+          hosts_nodes: false 
       requirements:
           - deployment:
                node: backbone
@@ -385,6 +389,7 @@
       properties:
           display_name: I2-lax
           site_url: http://opencloud.us/
+          hosts_nodes: false 
       requirements:
           - deployment:
                node: backbone
@@ -399,6 +404,7 @@
       properties:
           display_name: I2-nyc
           site_url: http://opencloud.us/
+          hosts_nodes: false 
       requirements:
           - deployment:
                node: backbone
@@ -413,6 +419,7 @@
       properties:
           display_name: I2-slc
           site_url: http://opencloud.us/
+          hosts_nodes: false 
       requirements:
           - deployment:
                node: backbone
@@ -427,6 +434,7 @@
       properties:
           display_name: I2-seae
           site_url: http://opencloud.us/
+          hosts_nodes: false 
       requirements:
           - deployment:
                node: backbone
@@ -441,6 +449,7 @@
       properties:
           display_name: I2-sng
           site_url: http://opencloud.us/
+          hosts_nodes: false 
       requirements:
           - deployment:
                node: backbone
@@ -455,6 +464,7 @@
       properties:
           display_name: I2-wdc
           site_url: http://opencloud.us/
+          hosts_nodes: false 
       requirements:
           - deployment:
                node: backbone
@@ -469,6 +479,7 @@
       properties:
           display_name: Princeton
           site_url: http://opencloud.us/
+          hosts_nodes: true
       requirements:
           - deployment:
                node: campus
@@ -483,6 +494,7 @@
       properties:
           display_name: Stanford
           site_url: http://opencloud.us/
+          hosts_nodes: true 
       requirements:
           - deployment:
                node: campus
@@ -497,6 +509,7 @@
       properties:
           display_name: Washington
           site_url: http://opencloud.us/
+          hosts_nodes: false 
       requirements:
           - deployment:
                node: campus
@@ -511,6 +524,7 @@
       properties:
           display_name: GTech
           site_url: http://opencloud.us/
+          hosts_nodes: false 
       requirements:
           - deployment:
                node: campus
@@ -525,6 +539,7 @@
       properties:
           display_name: Arizona
           site_url: http://opencloud.us/
+          hosts_nodes: false 
       requirements:
           - deployment:
                node: campus
@@ -539,6 +554,7 @@
       properties:
           display_name: Internet2
           site_url: http://opencloud.us/
+          hosts_nodes: false 
       requirements:
           - deployment:
                node: campus
@@ -553,6 +569,7 @@
       properties:
           display_name: Singapore
           site_url: http://opencloud.us/
+          hosts_nodes: false 
       requirements:
           - deployment:
                node: campus
@@ -567,6 +584,7 @@
       properties:
           display_name: ON.Lab
           site_url: http://opencloud.us/
+          hosts_nodes: false 
       requirements:
           - deployment:
                node: campus
diff --git a/xos/configurations/opencloud/wait_for_xos.sh b/xos/configurations/opencloud/wait_for_xos.sh
new file mode 100644
index 0000000..4f486af
--- /dev/null
+++ b/xos/configurations/opencloud/wait_for_xos.sh
@@ -0,0 +1,12 @@
+#! /bin/bash
+echo "Waiting for XOS to come up"
+until http 0.0.0.0:80 &> /dev/null
+do
+    sleep 1
+    RUNNING_CONTAINER=`sudo docker ps|grep "xos"|awk '{print $$NF}'`
+    if [[ $RUNNING_CONTAINER == "" ]]; then
+        echo Container may have failed. check with \"make showlogs\'
+        exit 1
+    fi
+done
+echo "XOS is ready"
diff --git a/xos/core/xoslib/methods/ceilometerview.py b/xos/core/xoslib/methods/ceilometerview.py
index 825cce4..1b46855 100644
--- a/xos/core/xoslib/methods/ceilometerview.py
+++ b/xos/core/xoslib/methods/ceilometerview.py
@@ -468,6 +468,80 @@
                 'label': '',
                 'description': _("Number of VCPUs"),
             }),
+            ("disk.read.requests", {
+                'type': _("Nova"),
+                'label': '',
+                'description': _("Number of read requests"),
+            }),
+            ("disk.write.requests", {
+                'type': _("Nova"),
+                'label': '',
+                'description': _("Number of write requests"),
+            }),
+            ("disk.read.bytes", {
+                'type': _("Nova"),
+                'label': '',
+                'description': _("Volume of reads"),
+            }),
+            ("disk.write.bytes", {
+                'type': _("Nova"),
+                'label': '',
+                'description': _("Volume of writes"),
+            }),
+            ("disk.read.requests.rate", {
+                'type': _("Nova"),
+                'label': '',
+                'description': _("Average rate of read requests"),
+            }),
+            ("disk.write.requests.rate", {
+                'type': _("Nova"),
+                'label': '',
+                'description': _("Average rate of write requests"),
+            }),
+            ("disk.read.bytes.rate", {
+                'type': _("Nova"),
+                'label': '',
+                'description': _("Average rate of reads"),
+            }),
+            ("disk.write.bytes.rate", {
+                'type': _("Nova"),
+                'label': '',
+                'description': _("Average volume of writes"),
+            }),
+            ("disk.root.size", {
+                'type': _("Nova"),
+                'label': '',
+                'description': _("Size of root disk"),
+            }),
+            ("disk.ephemeral.size", {
+                'type': _("Nova"),
+                'label': '',
+                'description': _("Size of ephemeral disk"),
+            }),
+            ("network.incoming.bytes", {
+                'type': _("Nova"),
+                'label': '',
+                'description': _("Number of incoming bytes "
+                                 "on the network for a VM interface"),
+            }),
+            ("network.outgoing.bytes", {
+                'type': _("Nova"),
+                'label': '',
+                'description': _("Number of outgoing bytes "
+                                 "on the network for a VM interface"),
+            }),
+            ("network.incoming.packets", {
+                'type': _("Nova"),
+                'label': '',
+                'description': _("Number of incoming "
+                                 "packets for a VM interface"),
+            }),
+            ("network.outgoing.packets", {
+                'type': _("Nova"),
+                'label': '',
+                'description': _("Number of outgoing "
+                                 "packets for a VM interface"),
+            }),
             ("network.incoming.bytes.rate", {
                 'type': _("Nova"),
                 'label': '',
@@ -480,6 +554,18 @@
                 'description': _("Average rate per sec of outgoing "
                                  "bytes on a VM network interface"),
             }),
+            ("network.incoming.packets.rate", {
+                'type': _("Nova"),
+                'label': '',
+                'description': _("Average rate per sec of incoming "
+                                 "packets on a VM network interface"),
+            }),
+            ("network.outgoing.packets.rate", {
+                'type': _("Nova"),
+                'label': '',
+                'description': _("Average rate per sec of outgoing "
+                                 "packets on a VM network interface"),
+            }),
         ])
         # Adding flavor based meters into meters_info dict
         # TODO(lsmola) this kind of meter will be probably deprecated
@@ -512,21 +598,76 @@
                 'label': '',
                 'description': _("Existence of network"),
             }),
+            ('network.create', {
+                'type': _("Neutron"),
+                'label': '',
+                'description': _("Creation requests for this network"),
+            }),
+            ('network.update', {
+                'type': _("Neutron"),
+                'label': '',
+                'description': _("Update requests for this network"),
+            }),
             ('subnet', {
                 'type': _("Neutron"),
                 'label': '',
                 'description': _("Existence of subnet"),
             }),
+            ('subnet.create', {
+                'type': _("Neutron"),
+                'label': '',
+                'description': _("Creation requests for this subnet"),
+            }),
+            ('subnet.update', {
+                'type': _("Neutron"),
+                'label': '',
+                'description': _("Update requests for this subnet"),
+            }),
             ('port', {
                 'type': _("Neutron"),
                 'label': '',
                 'description': _("Existence of port"),
             }),
+            ('port.create', {
+                'type': _("Neutron"),
+                'label': '',
+                'description': _("Creation requests for this port"),
+            }),
+            ('port.update', {
+                'type': _("Neutron"),
+                'label': '',
+                'description': _("Update requests for this port"),
+            }),
+            ('router', {
+                'type': _("Neutron"),
+                'label': '',
+                'description': _("Existence of router"),
+            }),
+            ('router.create', {
+                'type': _("Neutron"),
+                'label': '',
+                'description': _("Creation requests for this router"),
+            }),
+            ('router.update', {
+                'type': _("Neutron"),
+                'label': '',
+                'description': _("Update requests for this router"),
+            }),
             ('ip.floating', {
                 'type': _("Neutron"),
                 'label': '',
                 'description': _("Existence of floating ip"),
             }),
+            ('ip.floating.create', {
+                'type': _("Neutron"),
+                'label': '',
+                'description': _("Creation requests for this floating ip"),
+            }),
+            ('ip.floating.update', {
+                'type': _("Neutron"),
+                'label': '',
+                'description': _("Update requests for this floating ip"),
+            }),
         ])
 
     def _get_glance_meters_info(self):
diff --git a/xos/core/xoslib/methods/cordsubscriber.py b/xos/core/xoslib/methods/cordsubscriber.py
index 49e32a5..0615024 100644
--- a/xos/core/xoslib/methods/cordsubscriber.py
+++ b/xos/core/xoslib/methods/cordsubscriber.py
@@ -228,7 +228,7 @@
 
     def get_users(self, request, pk=None):
         subscriber = self.get_object()
-        return Response({"users": subscriber.users})
+        return Response(subscriber.users)
 
     def get_user_level(self, request, pk=None, uid=None):
         subscriber = self.get_object()
diff --git a/xos/core/xoslib/methods/loginview.py b/xos/core/xoslib/methods/loginview.py
new file mode 100755
index 0000000..69ee289
--- /dev/null
+++ b/xos/core/xoslib/methods/loginview.py
@@ -0,0 +1,101 @@
+from rest_framework.decorators import api_view
+from rest_framework.response import Response
+from rest_framework.reverse import reverse
+from rest_framework import serializers
+from rest_framework import generics
+from rest_framework.views import APIView
+from core.models import *
+from services.hpc.models import *
+from services.requestrouter.models import *
+from django.forms import widgets
+from django.core.exceptions import PermissionDenied
+from django.contrib.contenttypes.models import ContentType
+import json
+import socket
+import time
+import django.middleware.csrf
+from xos.exceptions import *
+from django.contrib.sessions.backends.db import SessionStore
+from django.contrib.sessions.models import Session
+from django.contrib.auth import authenticate
+
+def date_handler(obj):
+    return obj.isoformat() if hasattr(obj, 'isoformat') else obj
+
+def serialize_user(model):
+    serialized = model_to_dict(model)
+    del serialized['timezone']
+    del serialized['password']
+    return json.dumps(serialized, default=date_handler)
+
+class LoginView(APIView):
+    method_kind = "list"
+    method_name = "login"
+
+    def do_login(self, request, username, password):
+        if not username:
+            raise XOSMissingField("No username specified")
+
+        if not password:
+            raise XOSMissingField("No password specified")
+
+        u=authenticate(username=username, password=password)
+        if not u:
+            raise PermissionDenied("Failed to authenticate user %s" % username)
+
+        auth = {"username": username, "password": password}
+        request.session["auth"] = auth
+        request.session['_auth_user_id'] = u.pk
+        request.session['_auth_user_backend'] = u.backend
+        request.session.save()
+
+        return Response({
+            "xoscsrftoken": django.middleware.csrf.get_token(request),
+            "xossessionid": request.session.session_key,
+            "user": serialize_user(u)
+        })
+
+    def get(self, request, format=None):
+        username = request.GET.get("username", None)
+        password = request.GET.get("password", None)
+
+        return self.do_login(request, username, password)
+
+    def post(self, request, format=None):
+        username = request.DATA.get("username", None)
+        password = request.DATA.get("password", None)
+
+        return self.do_login(request, username, password)
+
+class LogoutView(APIView):
+    method_kind = "list"
+    method_name = "logout"
+
+    def do_logout(self, request, sessionid):
+        if not sessionid:
+            raise XOSMissingField("No xossessionid specified")
+
+        # Make sure the session exists. This prevents us from accidentally
+        # creating empty sessions with SessionStore()
+        session = Session.objects.filter(session_key=sessionid)
+        if not session:
+            # session doesn't exist
+            raise PermissionDenied("Session does not exist")
+
+        session = SessionStore(session_key=sessionid)
+        if "auth" in session:
+            del session["auth"]
+            session.save()
+        if "_auth_user_id" in session:
+            del session["_auth_user_id"]
+            session.save()
+
+        return Response("Logged Out")
+
+    def get(self, request, format=None):
+        sessionid = request.GET.get("xossessionid", None)
+        return self.do_logout(request, sessionid)
+
+    def post(self, request, format=None):
+        sessionid = request.DATA.get("xossessionid", None)
+        return self.do_logout(request, sessionid)
\ No newline at end of file
diff --git a/xos/services/onos/models.py b/xos/services/onos/models.py
index 80e903e..1e869d1 100644
--- a/xos/services/onos/models.py
+++ b/xos/services/onos/models.py
@@ -38,6 +38,7 @@
     KIND = ONOS_KIND
 
     default_attributes = {"name": "",
+                          "install_dependencies": "",
                           "dependencies": ""}
     def __init__(self, *args, **kwargs):
         onos_services = ONOSService.get_service_objects().all()
@@ -84,6 +85,14 @@
     def dependencies(self, value):
         self.set_attribute("dependencies", value)
 
+    @property
+    def install_dependencies(self):
+        return self.get_attribute("install_dependencies", self.default_attributes["install_dependencies"])
+
+    @install_dependencies.setter
+    def install_dependencies(self, value):
+        self.set_attribute("install_dependencies", value)
+
     #@property
     #def instance(self):
     #    instance_id = self.get_attribute("instance_id", self.default_attributes["instance_id"])
diff --git a/xos/synchronizers/base/ansible.py b/xos/synchronizers/base/ansible.py
index 7c30685..d2dca3b 100644
--- a/xos/synchronizers/base/ansible.py
+++ b/xos/synchronizers/base/ansible.py
@@ -195,7 +195,7 @@
     print "ANSIBLE_CONFIG=%s" % config_pathname
     print "ANSIBLE_HOSTS=%s" % hosts_pathname
 
-    return run_template(name, opts, path, ansible_config = config_pathname, ansible_hosts = hosts_pathname, run_ansible_script="/opt/xos/observer/run_ansible_verbose")
+    return run_template(name, opts, path, ansible_config = config_pathname, ansible_hosts = hosts_pathname, run_ansible_script="/opt/xos/synchronizers/base/run_ansible_verbose")
 
 
 
diff --git a/xos/synchronizers/base/xos-synchronizer.py b/xos/synchronizers/base/xos-synchronizer.py
index 3fffd33..493b94a 100644
--- a/xos/synchronizers/base/xos-synchronizer.py
+++ b/xos/synchronizers/base/xos-synchronizer.py
@@ -8,7 +8,7 @@
 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "xos.settings")
 from synchronizers.base.backend import Backend
 from xos.config import Config, DEFAULT_CONFIG_FN
-from core.models import Instance
+from core.models import Instance,NetworkTemplate
 from xos.logger import Logger, logging, logger
 from django.db import ProgrammingError
 import time
@@ -67,9 +67,12 @@
     while not models_active:
         try:
             _ = Instance.objects.first()
+            _ = NetworkTemplate.objects.first()
             models_active = True
-        except ProgrammingError:
+        except Exception,e:
+            logger.info(str(e))
             logger.info('Waiting for data model to come up before starting...')
+            time.sleep(10)
             wait = True
 
     if (wait):
diff --git a/xos/synchronizers/helloworld/run.sh b/xos/synchronizers/helloworld/run.sh
index f56ffe3..1b9d834 100755
--- a/xos/synchronizers/helloworld/run.sh
+++ b/xos/synchronizers/helloworld/run.sh
@@ -3,4 +3,4 @@
 #fi
 
 export XOS_DIR=/opt/xos
-python helloworld-observer.py  -C $XOS_DIR/observers/helloworld/helloworld_config
+python helloworld-synchronizer.py  -C $XOS_DIR/synchronizers/helloworld/helloworld_config
diff --git a/xos/synchronizers/helloworld/start.sh b/xos/synchronizers/helloworld/start.sh
index 89240cd..7945db3 100755
--- a/xos/synchronizers/helloworld/start.sh
+++ b/xos/synchronizers/helloworld/start.sh
@@ -1,4 +1,4 @@
 export XOS_DIR=/opt/xos
 
-echo $XOS_DIR/observers/helloworld/helloworld_config
-python helloworld-observer.py -C $XOS_DIR/observers/helloworld/helloworld_config
+echo $XOS_DIR/synchronizers/helloworld/helloworld_config
+python helloworld-synchronizer.py -C $XOS_DIR/synchronizers/helloworld/helloworld_config
diff --git a/xos/synchronizers/helloworldservice_complete/helloworldservice_config b/xos/synchronizers/helloworldservice_complete/helloworldservice_config
index b779d0e..69894fc 100644
--- a/xos/synchronizers/helloworldservice_complete/helloworldservice_config
+++ b/xos/synchronizers/helloworldservice_complete/helloworldservice_config
@@ -15,11 +15,11 @@
 # Optional name
 name=helloworldservice
 # This is the location to the dependency graph you generate
-dependency_graph=/opt/xos/observers/helloworldservice_complete/model-deps
+dependency_graph=/opt/xos/synchronizers/helloworldservice_complete/model-deps
 # The location of your SyncSteps
 steps_dir=/opt/xos/synchronizers/helloworldservice_complete/steps
 # A temporary directory that will be used by ansible
-sys_dir=/opt/xos/observers/helloworldservice_complete/sys
+sys_dir=/opt/xos/synchronizers/helloworldservice_complete/sys
 # Location of the file to save logging messages to the backend log is often used
 logfile=/var/log/xos_backend.log
 # If this option is true, then nothing will change, we simply pretend to run
diff --git a/xos/synchronizers/helloworldservice_complete/run.sh b/xos/synchronizers/helloworldservice_complete/run.sh
index 6bce079..331f8ae 100755
--- a/xos/synchronizers/helloworldservice_complete/run.sh
+++ b/xos/synchronizers/helloworldservice_complete/run.sh
@@ -1,3 +1,3 @@
 # Runs the XOS observer using helloworldservice_config
 export XOS_DIR=/opt/xos
-python helloworldservice-observer.py  -C $XOS_DIR/observers/helloworldservice_complete/helloworldservice_config
+python helloworldservice-synchronizer.py  -C $XOS_DIR/synchronizers/helloworldservice_complete/helloworldservice_config
diff --git a/xos/synchronizers/helloworldservice_complete/steps/sync_helloworldtenant.py b/xos/synchronizers/helloworldservice_complete/steps/sync_helloworldtenant.py
index b7ed2a8..69a08f5 100644
--- a/xos/synchronizers/helloworldservice_complete/steps/sync_helloworldtenant.py
+++ b/xos/synchronizers/helloworldservice_complete/steps/sync_helloworldtenant.py
@@ -23,7 +23,7 @@
     template_name = "sync_helloworldtenant.yaml"
     # The location of the SSH private key to use when ansible connects to
     # instances.
-    service_key_name = "/opt/xos/observers/helloworldservice_complete/helloworldservice_private_key"
+    service_key_name = "/opt/xos/synchronizers/helloworldservice_complete/helloworldservice_private_key"
 
     def __init__(self, *args, **kwargs):
         super(SyncHelloWorldTenantComplete, self).__init__(*args, **kwargs)
diff --git a/xos/synchronizers/monitoring_channel/steps/sync_monitoringchannel.py b/xos/synchronizers/monitoring_channel/steps/sync_monitoringchannel.py
index 2e4eca8..db7d318 100644
--- a/xos/synchronizers/monitoring_channel/steps/sync_monitoringchannel.py
+++ b/xos/synchronizers/monitoring_channel/steps/sync_monitoringchannel.py
@@ -23,7 +23,7 @@
     observes=MonitoringChannel
     requested_interval=0
     template_name = "sync_monitoringchannel.yaml"
-    service_key_name = "/opt/xos/observers/monitoring_channel/monitoring_channel_private_key"
+    service_key_name = "/opt/xos/synchronizers/monitoring_channel/monitoring_channel_private_key"
 
     def __init__(self, *args, **kwargs):
         super(SyncMonitoringChannel, self).__init__(*args, **kwargs)
diff --git a/xos/synchronizers/monitoring_channel/steps/sync_monitoringchannel.yaml b/xos/synchronizers/monitoring_channel/steps/sync_monitoringchannel.yaml
index 6c5fc8c..cedf3a4 100644
--- a/xos/synchronizers/monitoring_channel/steps/sync_monitoringchannel.yaml
+++ b/xos/synchronizers/monitoring_channel/steps/sync_monitoringchannel.yaml
@@ -25,14 +25,14 @@
 {% if delete %}
   - name: Remove tenant
 # FIXME: Adding dummy template action to avoid "action attribute missing in task" error
-    template: src=/opt/xos/observers/monitoring_channel/templates/ceilometer_proxy_config.j2 dest=/usr/local/share/monitoring-channel-{{ unique_id }}_ceilometer_proxy_config mode=0777
+    template: src=/opt/xos/synchronizers/monitoring_channel/templates/ceilometer_proxy_config.j2 dest=/usr/local/share/monitoring-channel-{{ unique_id }}_ceilometer_proxy_config mode=0777
     notify:
      - stop monitoring-channel
      - remove container
 {% else %}
 {% if full_setup %}
   - name: Docker repository
-    copy: src=/opt/xos/observers/monitoring_channel/files/docker.list
+    copy: src=/opt/xos/synchronizers/monitoring_channel/files/docker.list
       dest=/etc/apt/sources.list.d/docker.list
 
   - name: Import the repository key
@@ -61,12 +61,12 @@
     shell: rm -f /etc/resolv.conf
 
   - name: Install resolv.conf
-    copy: src=/opt/xos/observers/monitoring_channel/files/vm-resolv.conf
+    copy: src=/opt/xos/synchronizers/monitoring_channel/files/vm-resolv.conf
       dest=/etc/resolv.conf
 {% endif %}
 
   - name: ceilometer proxy config
-    template: src=/opt/xos/observers/monitoring_channel/templates/ceilometer_proxy_config.j2 dest=/usr/local/share/monitoring-channel-{{ unique_id }}_ceilometer_proxy_config mode=0777
+    template: src=/opt/xos/synchronizers/monitoring_channel/templates/ceilometer_proxy_config.j2 dest=/usr/local/share/monitoring-channel-{{ unique_id }}_ceilometer_proxy_config mode=0777
     notify:
 #    - restart monitoring-channel
      - stop monitoring-channel
@@ -74,10 +74,10 @@
      - start monitoring-channel
 
   - name: Monitoring channel upstart
-    template: src=/opt/xos/observers/monitoring_channel/templates/monitoring-channel.conf.j2 dest=/etc/init/monitoring-channel-{{ unique_id }}.conf
+    template: src=/opt/xos/synchronizers/monitoring_channel/templates/monitoring-channel.conf.j2 dest=/etc/init/monitoring-channel-{{ unique_id }}.conf
 
   - name: Monitoring channel startup script
-    template: src=/opt/xos/observers/monitoring_channel/templates/start-monitoring-channel.sh.j2 dest=/usr/local/sbin/start-monitoring-channel-{{ unique_id }}.sh mode=0755
+    template: src=/opt/xos/synchronizers/monitoring_channel/templates/start-monitoring-channel.sh.j2 dest=/usr/local/sbin/start-monitoring-channel-{{ unique_id }}.sh mode=0755
     notify:
 #    - restart monitoring-channel
      - stop monitoring-channel
diff --git a/xos/synchronizers/monitoring_channel/supervisor/monitoring_channel_observer.conf b/xos/synchronizers/monitoring_channel/supervisor/monitoring_channel_observer.conf
index 1b78703..1c2dd42 100644
--- a/xos/synchronizers/monitoring_channel/supervisor/monitoring_channel_observer.conf
+++ b/xos/synchronizers/monitoring_channel/supervisor/monitoring_channel_observer.conf
@@ -1,2 +1,2 @@
 [program:monitoring_channel_observer]
-command=python /opt/xos/observers/monitoring_channel/monitoring_channel_observer.py -C /opt/xos/observers/monitoring_channel/monitoring_channel_observer_config
+command=python /opt/xos/synchronizers/monitoring_channel/monitoring_channel_synchronizer.py -C /opt/xos/synchronizers/monitoring_channel/monitoring_channel_synchronizer_config
diff --git a/xos/synchronizers/onos/onos-ext-notifier-1.0-SNAPSHOT.oar b/xos/synchronizers/onos/onos-ext-notifier-1.0-SNAPSHOT.oar
new file mode 100644
index 0000000..893c01a
--- /dev/null
+++ b/xos/synchronizers/onos/onos-ext-notifier-1.0-SNAPSHOT.oar
Binary files differ
diff --git a/xos/synchronizers/onos/onos-ext-volt-event-publisher-1.0-SNAPSHOT.oar b/xos/synchronizers/onos/onos-ext-volt-event-publisher-1.0-SNAPSHOT.oar
new file mode 100644
index 0000000..7a32268
--- /dev/null
+++ b/xos/synchronizers/onos/onos-ext-volt-event-publisher-1.0-SNAPSHOT.oar
Binary files differ
diff --git a/xos/synchronizers/onos/run.sh b/xos/synchronizers/onos/run.sh
index ea4c511..b108d5b 100755
--- a/xos/synchronizers/onos/run.sh
+++ b/xos/synchronizers/onos/run.sh
@@ -3,4 +3,4 @@
 #fi
 
 export XOS_DIR=/opt/xos
-python onos-observer.py  -C $XOS_DIR/observers/onos/onos_observer_config
+python onos-synchronizer.py  -C $XOS_DIR/synchronizers/onos/onos_synchronizer_config
diff --git a/xos/synchronizers/onos/start.sh b/xos/synchronizers/onos/start.sh
index c13ffbe..f0a1535 100755
--- a/xos/synchronizers/onos/start.sh
+++ b/xos/synchronizers/onos/start.sh
@@ -3,4 +3,4 @@
 #fi
 
 export XOS_DIR=/opt/xos
-nohup python onos-observer.py  -C $XOS_DIR/observers/onos/onos_observer_config > /dev/null 2>&1 &
+nohup python onos-synchronizer.py  -C $XOS_DIR/synchronizers/onos/onos_synchronizer_config > /dev/null 2>&1 &
diff --git a/xos/synchronizers/onos/steps/sync_onosapp.py b/xos/synchronizers/onos/steps/sync_onosapp.py
index 91eec44..8942e59 100644
--- a/xos/synchronizers/onos/steps/sync_onosapp.py
+++ b/xos/synchronizers/onos/steps/sync_onosapp.py
@@ -5,12 +5,14 @@
 import sys
 import base64
 import time
+import re
+import json
 from django.db.models import F, Q
 from xos.config import Config
 from synchronizers.base.syncstep import SyncStep
 from synchronizers.base.ansible import run_template_ssh
 from synchronizers.base.SyncInstanceUsingAnsible import SyncInstanceUsingAnsible
-from core.models import Service, Slice
+from core.models import Service, Slice, ControllerSlice, ControllerUser
 from services.onos.models import ONOSService, ONOSApp
 from xos.logger import Logger, logging
 
@@ -25,7 +27,7 @@
     observes=ONOSApp
     requested_interval=0
     template_name = "sync_onosapp.yaml"
-    service_key_name = "/opt/xos/observers/onos/onos_key"
+    service_key_name = "/opt/xos/synchronizers/onos/onos_key"
 
     def __init__(self, *args, **kwargs):
         super(SyncONOSApp, self).__init__(*args, **kwargs)
@@ -86,10 +88,31 @@
         result = result + '], "ipPrefix": "%s"}' % ipPrefix
         return result
 
+    def get_dynamic_parameter_value(self, o, param):
+        instance = self.get_instance(o)
+        if not instance:
+           raise "No instance for ONOS App"
+        if param == 'rabbit_host':
+            return instance.controller.rabbit_host
+        if param == 'rabbit_user':
+            return instance.controller.rabbit_user
+        if param == 'rabbit_password':
+            return instance.controller.rabbit_password
+        if param == 'keystone_tenant_id':
+            cslice = ControllerSlice.objects.get(slice=instance.slice)
+            if not cslice:
+                raise Exception("Controller slice object for %s does not exist" % instance.slice.name)
+            return cslice.tenant_id
+        if param == 'keystone_user_id':
+            cuser = ControllerUser.objects.get(user=instance.creator)
+            if not cuser:
+                raise Exception("Controller user object for %s does not exist" % instance.creator)
+            return cuser.kuser_id
 
     def write_configs(self, o):
         o.config_fns = []
         o.rest_configs = []
+        o.component_configs = []
         o.files_dir = self.get_files_dir(o)
 
         if not os.path.exists(o.files_dir):
@@ -131,6 +154,20 @@
                 # later.
                 file(os.path.join(o.files_dir, fn),"w").write(" " +value)
                 o.rest_configs.append( {"endpoint": endpoint, "fn": fn} )
+            if name.startswith("component_config"):
+                components = json.loads(value)
+                for component in components.keys():
+                    config = components[component]
+                    for key in config.keys():
+                         config_val = config[key]
+                         found = re.findall('<(.+?)>',config_val)
+                         for x in found:
+                            #Get value corresponding to that string
+                            val = self.get_dynamic_parameter_value(o, x)
+                            if val:
+	                       config_val = re.sub('<'+x+'>', val, config_val)
+                            #TODO: else raise an exception?
+	                 o.component_configs.append( {"component": component, "config_params": "'{\""+key+"\":\""+config_val+"\"}'"} )
 
     def prepare_record(self, o):
         self.write_configs(o)
@@ -145,11 +182,17 @@
         fields["config_fns"] = o.config_fns
         fields["rest_configs"] = o.rest_configs
         fields["early_rest_configs"] = o.early_rest_configs
+        fields["component_configs"] = o.component_configs
         if o.dependencies:
             fields["dependencies"] = [x.strip() for x in o.dependencies.split(",")]
         else:
             fields["dependencies"] = []
 
+        if o.install_dependencies:
+            fields["install_dependencies"] = [x.strip() for x in o.install_dependencies.split(",")]
+        else:
+            fields["install_dependencies"] = []
+
         if (instance.isolation=="container"):
             fields["ONOS_container"] = "%s-%s" % (instance.slice.name, str(instance.id))
         else:
diff --git a/xos/synchronizers/onos/steps/sync_onosapp.yaml b/xos/synchronizers/onos/steps/sync_onosapp.yaml
index a03368b..f0af0d6 100644
--- a/xos/synchronizers/onos/steps/sync_onosapp.yaml
+++ b/xos/synchronizers/onos/steps/sync_onosapp.yaml
@@ -7,6 +7,13 @@
   vars:
     appname: {{ appname }}
     dependencies: {{ dependencies }}
+{% if component_configs %}
+    component_configs:
+{% for component_config in component_configs %}
+       - component: {{ component_config.component }}
+         config_params: {{  component_config.config_params }}
+{% endfor %}
+{% endif %}
 {% if rest_configs %}
     rest_configs:
 {% for rest_config in rest_configs %}
@@ -25,7 +32,7 @@
   tasks:
 
   - name: Get Docker IP
-    script: /opt/xos/observers/onos/scripts/dockerip.sh {{ ONOS_container }}
+    script: /opt/xos/synchronizers/onos/scripts/dockerip.sh {{ ONOS_container }}
     register: onosaddr
 
   - name: Wait for ONOS to come up
@@ -86,6 +93,30 @@
     wait_for: timeout=15
 {% endif %}
 
+{% if install_dependencies %}
+  - name: Install app file directory
+    file:
+      path=/home/ubuntu/{{ appname }}/apps/
+      state=directory
+
+  - name: Copy over app install files to ONOS host
+    copy:
+      src=/opt/xos/synchronizers/onos/{{ '{{' }} item {{ '}}' }}
+      dest=/home/ubuntu/{{ appname }}/apps/{{ '{{' }} item {{ '}}' }}
+    with_items:
+        {% for install_app in install_dependencies %}
+        - {{ install_app }}
+        {% endfor %}
+
+  - name: POST onos-app install command
+    command: >
+        curl -XPOST -HContent-Type:application/octet-stream -u karaf:karaf --data-binary @/home/ubuntu/{{ appname }}/apps/{{ '{{' }} item {{ '}}' }} http://{{ '{{' }} onosaddr.stdout  {{ '}}' }}:8181/onos/v1/applications
+    with_items:
+        {% for dependency in install_dependencies %}
+        - {{ dependency }}
+        {% endfor %}
+{% endif %}
+
 {% if dependencies %}
   - name: Add dependencies to ONOS
     uri:
@@ -99,6 +130,23 @@
         {% endfor %}
 {% endif %}
 
+{% if component_configs %}
+  - name: Add ONOS component configuration values
+    command: >
+        curl -XPOST -HContent-Type:application/json -u karaf:karaf -d {{ '{{' }} item.config_params | to_json {{ '}}' }} http://{{ '{{' }} onosaddr.stdout  {{ '}}' }}:8181/onos/v1/configuration/{{
+ '{{' }} item.component {{ '}}' }}
+    with_items: "component_configs"
+
+#    uri:
+#      url: http://{{ '{{' }} onosaddr.stdout {{ '}}' }}:8181/onos/v1/configuration/{{ '{{' }} item.component {{ '}}' }} #http://localhost:8181/onos/v1/configuration/
+#      body: "{{ '{{' }} item.config_params | to_json {{ '}}' }}"
+#      body_format: json
+#      method: POST
+#      user: karaf
+#      password: karaf
+#    with_items: "component_configs"
+{% endif %}
+
 {% if rest_configs %}
 # Do this after services have been activated, or it will cause an exception.
 # vOLT will re-read its net config; vbng may not.
diff --git a/xos/synchronizers/onos/steps/sync_onosservice.py b/xos/synchronizers/onos/steps/sync_onosservice.py
index 0474dc6..e70be0c 100644
--- a/xos/synchronizers/onos/steps/sync_onosservice.py
+++ b/xos/synchronizers/onos/steps/sync_onosservice.py
@@ -24,7 +24,7 @@
     observes=ONOSService
     requested_interval=0
     template_name = "sync_onosservice.yaml"
-    service_key_name = "/opt/xos/observers/onos/onos_key"
+    service_key_name = "/opt/xos/synchronizers/onos/onos_key"
 
     def __init__(self, *args, **kwargs):
         super(SyncONOSService, self).__init__(*args, **kwargs)
diff --git a/xos/synchronizers/onos/steps/sync_onosservice.yaml b/xos/synchronizers/onos/steps/sync_onosservice.yaml
index fd9c3db..a51fde5 100644
--- a/xos/synchronizers/onos/steps/sync_onosservice.yaml
+++ b/xos/synchronizers/onos/steps/sync_onosservice.yaml
@@ -52,7 +52,7 @@
       - "9876:9876"
 
   - name: Get Docker IP
-    script: /opt/xos/observers/onos/scripts/dockerip.sh {{ ONOS_container }}
+    script: /opt/xos/synchronizers/onos/scripts/dockerip.sh {{ ONOS_container }}
     register: dockerip
 
   - name: Wait for ONOS to come up
diff --git a/xos/synchronizers/onos/supervisor/onos-observer.conf b/xos/synchronizers/onos/supervisor/onos-observer.conf
index 36e00d9..995644e 100644
--- a/xos/synchronizers/onos/supervisor/onos-observer.conf
+++ b/xos/synchronizers/onos/supervisor/onos-observer.conf
@@ -4,6 +4,6 @@
 nodaemon=true
 
 [program:synchronizer]
-command=python /opt/xos/observers/onos/onos-observer.py -C /opt/xos/observers/onos/onos_observer_config
+command=python /opt/xos/synchronizers/onos/onos-synchronizer.py -C /opt/xos/synchronizers/onos/onos_synchronizer_config
 stderr_logfile=/var/log/supervisor/synchronizer.err.log
 stdout_logfile=/var/log/supervisor/synchronizer.out.log
diff --git a/xos/synchronizers/openstack/steps/sync_container.yaml b/xos/synchronizers/openstack/steps/sync_container.yaml
index 77e57cd..82588dc 100644
--- a/xos/synchronizers/openstack/steps/sync_container.yaml
+++ b/xos/synchronizers/openstack/steps/sync_container.yaml
@@ -90,16 +90,16 @@
     register: systemctl
 
   - name: container upstart
-    template: src=/opt/xos/openstack_observer/templates/container.conf.j2 dest=/etc/init/container-{{ container_name }}.conf
+    template: src=/opt/xos/synchronizers/openstack/templates/container.conf.j2 dest=/etc/init/container-{{ container_name }}.conf
 
   - name: container systemd
-    template: src=/opt/xos/openstack_observer/templates/container.service.j2 dest=/lib/systemd/system/container-{{ container_name }}.service
+    template: src=/opt/xos/synchronizers/openstack/templates/container.service.j2 dest=/lib/systemd/system/container-{{ container_name }}.service
 
   - name: container startup script
-    template: src=/opt/xos/openstack_observer/templates/start-container.sh.j2 dest=/usr/local/sbin/start-container-{{ container_name }}.sh mode=0755
+    template: src=/opt/xos/synchronizers/openstack/templates/start-container.sh.j2 dest=/usr/local/sbin/start-container-{{ container_name }}.sh mode=0755
 
   - name: container teardown script
-    template: src=/opt/xos/openstack_observer/templates/stop-container.sh.j2 dest=/usr/local/sbin/stop-container-{{ container_name }}.sh mode=0755
+    template: src=/opt/xos/synchronizers/openstack/templates/stop-container.sh.j2 dest=/usr/local/sbin/stop-container-{{ container_name }}.sh mode=0755
 
   - name: restart systemd
     shell: systemctl daemon-reload
diff --git a/xos/synchronizers/openstack/xos-synchronizer.py b/xos/synchronizers/openstack/xos-synchronizer.py
index 3fffd33..493b94a 100644
--- a/xos/synchronizers/openstack/xos-synchronizer.py
+++ b/xos/synchronizers/openstack/xos-synchronizer.py
@@ -8,7 +8,7 @@
 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "xos.settings")
 from synchronizers.base.backend import Backend
 from xos.config import Config, DEFAULT_CONFIG_FN
-from core.models import Instance
+from core.models import Instance,NetworkTemplate
 from xos.logger import Logger, logging, logger
 from django.db import ProgrammingError
 import time
@@ -67,9 +67,12 @@
     while not models_active:
         try:
             _ = Instance.objects.first()
+            _ = NetworkTemplate.objects.first()
             models_active = True
-        except ProgrammingError:
+        except Exception,e:
+            logger.info(str(e))
             logger.info('Waiting for data model to come up before starting...')
+            time.sleep(10)
             wait = True
 
     if (wait):
diff --git a/xos/synchronizers/vbng/run.sh b/xos/synchronizers/vbng/run.sh
index efb586f..de3ed7c 100755
--- a/xos/synchronizers/vbng/run.sh
+++ b/xos/synchronizers/vbng/run.sh
@@ -3,4 +3,4 @@
 #fi
 
 export XOS_DIR=/opt/xos
-python vbng-observer.py  -C $XOS_DIR/observers/vbng/vbng_observer_config
+python vbng-synchronizer.py  -C $XOS_DIR/synchronizers/vbng/vbng_synchronizer_config
diff --git a/xos/synchronizers/vbng/start.sh b/xos/synchronizers/vbng/start.sh
index 98008f4..9553610 100755
--- a/xos/synchronizers/vbng/start.sh
+++ b/xos/synchronizers/vbng/start.sh
@@ -3,4 +3,4 @@
 #fi
 
 export XOS_DIR=/opt/xos
-nohup python vbng-observer.py  -C $XOS_DIR/observers/vbng/vbng_observer_config > /dev/null 2>&1 &
+nohup python vbng-synchronizer.py  -C $XOS_DIR/synchronizers/vbng/vbng_synchronizer_config > /dev/null 2>&1 &
diff --git a/xos/synchronizers/vbng/supervisor/vbng-observer.conf b/xos/synchronizers/vbng/supervisor/vbng-observer.conf
index cff77b8..a999318 100644
--- a/xos/synchronizers/vbng/supervisor/vbng-observer.conf
+++ b/xos/synchronizers/vbng/supervisor/vbng-observer.conf
@@ -1,2 +1,2 @@
 [program:vbng-observer]
-command=python /opt/xos/observers/vbng/vbng-observer.py -C /opt/xos/observers/vbng/vbng_observer_config
+command=python /opt/xos/synchronizers/vbng/vbng-synchronizer.py -C /opt/xos/synchronizers/vbng/vbng_synchronizer_config
diff --git a/xos/synchronizers/vcpe/run.sh b/xos/synchronizers/vcpe/run.sh
index f180e66..f7c670d 100755
--- a/xos/synchronizers/vcpe/run.sh
+++ b/xos/synchronizers/vcpe/run.sh
@@ -3,4 +3,4 @@
 #fi
 
 export XOS_DIR=/opt/xos
-python vcpe-observer.py  -C $XOS_DIR/observers/vcpe/vcpe_observer_config
+python vcpe-synchronizer.py  -C $XOS_DIR/synchronizers/vcpe/vcpe_synchronizer_config
diff --git a/xos/synchronizers/vcpe/start.sh b/xos/synchronizers/vcpe/start.sh
index b402e5d..dc5619b 100755
--- a/xos/synchronizers/vcpe/start.sh
+++ b/xos/synchronizers/vcpe/start.sh
@@ -3,4 +3,4 @@
 #fi
 
 export XOS_DIR=/opt/xos
-nohup python vcpe-observer.py  -C $XOS_DIR/observers/vcpe/vcpe_observer_config > /dev/null 2>&1 &
+nohup python vcpe-synchronizer.py  -C $XOS_DIR/synchronizers/vcpe/vcpe_synchronizer_config > /dev/null 2>&1 &
diff --git a/xos/synchronizers/vcpe/steps/sync_vcpetenant.py b/xos/synchronizers/vcpe/steps/sync_vcpetenant.py
index 691671a..f0e9301 100644
--- a/xos/synchronizers/vcpe/steps/sync_vcpetenant.py
+++ b/xos/synchronizers/vcpe/steps/sync_vcpetenant.py
@@ -30,7 +30,7 @@
     observes=VCPETenant
     requested_interval=0
     template_name = "sync_vcpetenant.yaml"
-    service_key_name = "/opt/xos/observers/vcpe/vcpe_private_key"
+    service_key_name = "/opt/xos/synchronizers/vcpe/vcpe_private_key"
 
     def __init__(self, *args, **kwargs):
         super(SyncVCPETenant, self).__init__(*args, **kwargs)
diff --git a/xos/synchronizers/vcpe/steps/sync_vcpetenant.yaml b/xos/synchronizers/vcpe/steps/sync_vcpetenant.yaml
index fdc21da..b9b4b9e 100644
--- a/xos/synchronizers/vcpe/steps/sync_vcpetenant.yaml
+++ b/xos/synchronizers/vcpe/steps/sync_vcpetenant.yaml
@@ -58,7 +58,7 @@
   tasks:
 {% if full_setup %}
   - name: Docker repository
-    copy: src=/opt/xos/observers/vcpe/files/docker.list
+    copy: src=/opt/xos/synchronizers/vcpe/files/docker.list
       dest=/etc/apt/sources.list.d/docker.list
 
   - name: Import the repository key
@@ -90,7 +90,7 @@
     shell: rm -f /etc/resolv.conf
 
   - name: Install resolv.conf
-    copy: src=/opt/xos/observers/vcpe/files/vm-resolv.conf
+    copy: src=/opt/xos/synchronizers/vcpe/files/vm-resolv.conf
       dest=/etc/resolv.conf
 
   - name: Verify if vcpe_stats_notifier ([] is to avoid capturing the shell process) cron job is already running
@@ -105,7 +105,7 @@
     when: cron_job_pids_count.stdout == "0"
 
   - name: Copy cron job to destination
-    copy: src=/opt/xos/observers/vcpe/vcpe_stats_notifier.py
+    copy: src=/opt/xos/synchronizers/vcpe/vcpe_stats_notifier.py
       dest=~/bin/vcpe_stats_notifier.py
     when: cron_job_pids_count.stdout == "0"
 
@@ -121,10 +121,10 @@
 {% endif %}
 
   - name: vCPE upstart
-    template: src=/opt/xos/observers/vcpe/templates/vcpe.conf.j2 dest=/etc/init/vcpe-{{ s_tags[0] }}-{{ c_tags[0] }}.conf
+    template: src=/opt/xos/synchronizers/vcpe/templates/vcpe.conf.j2 dest=/etc/init/vcpe-{{ s_tags[0] }}-{{ c_tags[0] }}.conf
 
   - name: vCPE startup script
-    template: src=/opt/xos/observers/vcpe/templates/start-vcpe.sh.j2 dest=/usr/local/sbin/start-vcpe-{{ s_tags[0] }}-{{ c_tags[0] }}.sh mode=0755
+    template: src=/opt/xos/synchronizers/vcpe/templates/start-vcpe.sh.j2 dest=/usr/local/sbin/start-vcpe-{{ s_tags[0] }}-{{ c_tags[0] }}.sh mode=0755
     notify:
 #    - restart vcpe
      - stop vcpe
@@ -135,22 +135,22 @@
     file: path=/etc/vcpe-{{ s_tags[0] }}-{{ c_tags[0] }}/dnsmasq.d state=directory owner=root group=root
 
   - name: vCPE basic dnsmasq config
-    copy: src=/opt/xos/observers/vcpe/files/vcpe.dnsmasq dest=/etc/vcpe-{{ s_tags[0] }}-{{ c_tags[0] }}/dnsmasq.d/vcpe.conf owner=root group=root
+    copy: src=/opt/xos/synchronizers/vcpe/files/vcpe.dnsmasq dest=/etc/vcpe-{{ s_tags[0] }}-{{ c_tags[0] }}/dnsmasq.d/vcpe.conf owner=root group=root
     notify:
     - restart dnsmasq
 
   - name: dnsmasq config
-    template: src=/opt/xos/observers/vcpe/templates/dnsmasq_servers.j2 dest=/etc/vcpe-{{ s_tags[0] }}-{{ c_tags[0] }}/dnsmasq.d/servers.conf owner=root group=root
+    template: src=/opt/xos/synchronizers/vcpe/templates/dnsmasq_servers.j2 dest=/etc/vcpe-{{ s_tags[0] }}-{{ c_tags[0] }}/dnsmasq.d/servers.conf owner=root group=root
     notify:
     - restart dnsmasq
 
 # These are samples, not necessary for correct function of demo
 
 #  - name: networking info
-#    template: src=/opt/xos/observers/vcpe/templates/vlan_sample.j2 dest=/etc/vlan_sample owner=root group=root
+#    template: src=/opt/xos/synchronizers/vcpe/templates/vlan_sample.j2 dest=/etc/vlan_sample owner=root group=root
 
 #  - name: firewall info
-#    template: src=/opt/xos/observers/vcpe/templates/firewall_sample.j2 dest=/etc/firewall_sample owner=root group=root
+#    template: src=/opt/xos/synchronizers/vcpe/templates/firewall_sample.j2 dest=/etc/firewall_sample owner=root group=root
 
   - name: Make sure vCPE service is running
     service: name=vcpe-{{ s_tags[0] }}-{{ c_tags[0] }} state=started
diff --git a/xos/synchronizers/vcpe/steps/sync_vcpetenant_new.yaml b/xos/synchronizers/vcpe/steps/sync_vcpetenant_new.yaml
index 6c7166f..59047c1 100644
--- a/xos/synchronizers/vcpe/steps/sync_vcpetenant_new.yaml
+++ b/xos/synchronizers/vcpe/steps/sync_vcpetenant_new.yaml
@@ -69,7 +69,7 @@
     when: cron_job_pids_count.stdout == "0"
 
   - name: Copy cron job to destination
-    copy: src=/opt/xos/observers/vcpe/vcpe_stats_notifier.py
+    copy: src=/opt/xos/synchronizers/vcpe/vcpe_stats_notifier.py
       dest=~/bin/vcpe_stats_notifier.py
     when: cron_job_pids_count.stdout == "0"
 
@@ -84,12 +84,12 @@
     when: cron_job_pids_count.stdout == "0"
 
   - name: vCPE basic dnsmasq config
-    copy: src=/opt/xos/observers/vcpe/files/vcpe.dnsmasq dest=/var/container_volumes/{{ container_name }}/etc/dnsmasq.d/vcpe.conf owner=root group=root
+    copy: src=/opt/xos/synchronizers/vcpe/files/vcpe.dnsmasq dest=/var/container_volumes/{{ container_name }}/etc/dnsmasq.d/vcpe.conf owner=root group=root
     notify:
     - restart dnsmasq
 
   - name: dnsmasq config
-    template: src=/opt/xos/observers/vcpe/templates/dnsmasq_servers.j2 dest=/var/container_volumes/{{ container_name }}/etc/dnsmasq.d/servers.conf owner=root group=root
+    template: src=/opt/xos/synchronizers/vcpe/templates/dnsmasq_servers.j2 dest=/var/container_volumes/{{ container_name }}/etc/dnsmasq.d/servers.conf owner=root group=root
     notify:
     - restart dnsmasq
 
@@ -97,22 +97,22 @@
     file: path=/var/container_volumes/{{ container_name }}/etc/dnsmasq.d/safe state=directory
 
   - name: dnsmasq "safe" config
-    template: src=/opt/xos/observers/vcpe/templates/dnsmasq_safe_servers.j2 dest=/var/container_volumes/{{ container_name }}/etc/dnsmasq.d/safe/servers.conf owner=root group=root
+    template: src=/opt/xos/synchronizers/vcpe/templates/dnsmasq_safe_servers.j2 dest=/var/container_volumes/{{ container_name }}/etc/dnsmasq.d/safe/servers.conf owner=root group=root
     notify:
     - restart dnsmasq
 
   - name: copy base ufw files
-    synchronize: src=/opt/xos/observers/vcpe/files/etc/ufw/ dest=/var/container_volumes/{{ container_name }}/etc/ufw/
+    synchronize: src=/opt/xos/synchronizers/vcpe/files/etc/ufw/ dest=/var/container_volumes/{{ container_name }}/etc/ufw/
     notify:
     - reload ufw
 
   - name: redirection rules for safe DNS
-    template: src=/opt/xos/observers/vcpe/templates/before.rules.j2 dest=/var/container_volumes/{{ container_name }}/etc/ufw/before.rules owner=root group=root
+    template: src=/opt/xos/synchronizers/vcpe/templates/before.rules.j2 dest=/var/container_volumes/{{ container_name }}/etc/ufw/before.rules owner=root group=root
     notify:
     - reload ufw
 
   - name: base ufw setup uses /etc/rc.local
-    copy: src=/opt/xos/observers/vcpe/files/etc/rc.local dest=/var/container_volumes/{{ container_name }}/etc/ owner=root group=root
+    copy: src=/opt/xos/synchronizers/vcpe/files/etc/rc.local dest=/var/container_volumes/{{ container_name }}/etc/ owner=root group=root
     notify:
     - copy in /etc/rc.local
 
diff --git a/xos/synchronizers/vcpe/supervisor/vcpe-observer.conf b/xos/synchronizers/vcpe/supervisor/vcpe-observer.conf
index 27d2796..13d797a 100644
--- a/xos/synchronizers/vcpe/supervisor/vcpe-observer.conf
+++ b/xos/synchronizers/vcpe/supervisor/vcpe-observer.conf
@@ -1,2 +1,2 @@
 [program:vcpe-observer]
-command=python /opt/xos/observers/vcpe/vcpe-observer.py -C /opt/xos/observers/vcpe/vcpe_observer_config
+command=python /opt/xos/synchronizers/vcpe/vcpe-synchronizer.py -C /opt/xos/synchronizers/vcpe/vcpe_synchronizer_config
diff --git a/xos/tosca/custom_types/xos.m4 b/xos/tosca/custom_types/xos.m4
index 30798d5..39e4d99 100644
--- a/xos/tosca/custom_types/xos.m4
+++ b/xos/tosca/custom_types/xos.m4
@@ -140,6 +140,12 @@
             dependencies:
                 type: string
                 required: false
+            install_dependencies:
+                type: string
+                required: false
+            component_config:
+                type: string
+                required: false
             config_addresses.json:
                 type: string
                 required: false
@@ -159,6 +165,12 @@
             dependencies:
                 type: string
                 required: false
+            install_dependencies:
+                type: string
+                required: false
+            component_config:
+                type: string
+                required: false
             config_network-cfg.json:
                 type: string
                 required: false
diff --git a/xos/tosca/custom_types/xos.yaml b/xos/tosca/custom_types/xos.yaml
index 63d7395..613db70 100644
--- a/xos/tosca/custom_types/xos.yaml
+++ b/xos/tosca/custom_types/xos.yaml
@@ -145,6 +145,12 @@
             dependencies:
                 type: string
                 required: false
+            install_dependencies:
+                type: string
+                required: false
+            component_config:
+                type: string
+                required: false
 
     tosca.nodes.ONOSvBNGApp:
         derived_from: tosca.nodes.Root
@@ -162,6 +168,12 @@
             dependencies:
                 type: string
                 required: false
+            install_dependencies:
+                type: string
+                required: false
+            component_config:
+                type: string
+                required: false
             config_addresses.json:
                 type: string
                 required: false
@@ -188,6 +200,12 @@
             dependencies:
                 type: string
                 required: false
+            install_dependencies:
+                type: string
+                required: false
+            component_config:
+                type: string
+                required: false
             config_network-cfg.json:
                 type: string
                 required: false
diff --git a/xos/tosca/resources/CORDSubscriber.py b/xos/tosca/resources/CORDSubscriber.py
index 4097ca9..f013032 100644
--- a/xos/tosca/resources/CORDSubscriber.py
+++ b/xos/tosca/resources/CORDSubscriber.py
@@ -6,7 +6,7 @@
 from translator.toscalib.tosca_template import ToscaTemplate
 import pdb
 
-from core.models import User
+from core.models import User, TenantRootPrivilege, TenantRootRole
 from services.cord.models import CordSubscriberRoot
 
 from xosresource import XOSResource
@@ -17,7 +17,8 @@
     copyin_props = ["service_specific_id", "firewall_enable", "url_filter_enable", "cdn_enable", "url_filter_level"]
 
     def postprocess(self, obj):
-        pass
+        rolemap = ( ("tosca.relationships.AdminPrivilege", "admin"), ("tosca.relationships.AccessPrivilege", "access"), )
+        self.postprocess_privileges(TenantRootRole, TenantRootPrivilege, rolemap, obj, "tenant_root")
 
     def can_delete(self, obj):
         return super(XOSCORDSubscriber, self).can_delete(obj)
diff --git a/xos/tosca/resources/onosapp.py b/xos/tosca/resources/onosapp.py
index 42cb0bf..5947400 100644
--- a/xos/tosca/resources/onosapp.py
+++ b/xos/tosca/resources/onosapp.py
@@ -14,7 +14,7 @@
 class XOSONOSApp(XOSResource):
     provides = ["tosca.nodes.ONOSApp", "tosca.nodes.ONOSvBNGApp", "tosca.nodes.ONOSvOLTApp", "tosca.nodes.ONOSVTNApp"]
     xos_model = ONOSApp
-    copyin_props = ["service_specific_id", "dependencies"]
+    copyin_props = ["service_specific_id", "dependencies", "install_dependencies"]
 
     def get_xos_args(self, throw_exception=True):
         args = super(XOSONOSApp, self).get_xos_args()
@@ -59,6 +59,8 @@
                 self.set_tenant_attr(obj, k, v)
             elif k.startswith("rest_"):
                 self.set_tenant_attr(obj, k, v)
+            elif k.startswith("component_config"):
+                self.set_tenant_attr(obj, k, v)
 
     def can_delete(self, obj):
         return super(XOSONOSApp, self).can_delete(obj)
diff --git a/xos/tosca/resources/user.py b/xos/tosca/resources/user.py
index 724bc3d..8587c89 100644
--- a/xos/tosca/resources/user.py
+++ b/xos/tosca/resources/user.py
@@ -76,6 +76,24 @@
 
         self.info("Created User '%s'" % (str(user), ))
 
+    def update(self, obj):
+        xos_args = self.get_xos_args()
+
+        password = None
+        if "password" in xos_args:
+            # password needs to be set with set_password function
+            password = xos_args["password"]
+            del xos_args["password"]
+
+        for (k,v) in xos_args.items():
+            setattr(obj, k, v)
+
+        if password:
+            obj.set_password(password)
+
+        self.postprocess(obj)
+        obj.save()
+
     def delete(self, obj):
         if obj.slices.exists():
             self.info("User %s has active slices; skipping delete" % obj.name)
diff --git a/xos/tosca/resources/xosresource.py b/xos/tosca/resources/xosresource.py
index fa14380..cc4672b 100644
--- a/xos/tosca/resources/xosresource.py
+++ b/xos/tosca/resources/xosresource.py
@@ -103,10 +103,16 @@
     def postprocess_privileges(self, roleclass, privclass, rolemap, obj, toFieldName):
         for (rel, role) in rolemap:
             for email in self.get_requirements(rel):
-                role = self.get_xos_object(roleclass, role=role)
+                role_obj = self.get_xos_object(roleclass, throw_exception=False, role=role)
+                if not role_obj:
+                    # if the role doesn't exist, make it
+                    self.info("Creating %s %s" % (roleclass.__name__, role))
+                    role_obj = roleclass(role=role)
+                    role_obj.save()
+
                 user = self.get_xos_object(User, email=email)
-                if not privclass.objects.filter(user=user, role=role, **{toFieldName: obj}):
-                    sp = privclass(user=user, role=role, **{toFieldName: obj})
+                if not privclass.objects.filter(user=user, role=role_obj, **{toFieldName: obj}):
+                    sp = privclass(user=user, role=role_obj, **{toFieldName: obj})
                     sp.save()
                     self.info("Added privilege on %s role %s for %s" % (str(obj), str(role), str(user)))
 
diff --git a/xos/tosca/samples/cord.yaml b/xos/tosca/samples/cord.yaml
index 567ced0..a9baf25 100644
--- a/xos/tosca/samples/cord.yaml
+++ b/xos/tosca/samples/cord.yaml
@@ -70,8 +70,19 @@
               node: mysite
               relationship: tosca.relationships.MemberOfSite
 
-    # Now let's add a subscriber
+    # Let's add a user who can be administrator of the household
+    johndoe@myhouse.com:
+      type: tosca.nodes.User
+      properties:
+          password: letmein
+          firstname: john
+          lastname: doe
+      requirements:
+          - site:
+              node: mysite
+              relationship: tosca.relationships.MemberOfSite
 
+    # Now let's add a subscriber
     My House:
        type: tosca.nodes.CORDSubscriber
        properties:
@@ -80,6 +91,10 @@
            cdn_enable: true
            url_filter_enable: true
            url_filter_level: R
+       requirements:
+          - house_admin:
+              node: johndoe@myhouse.com
+              relationship: tosca.relationships.AdminPrivilege
 
     Mom's PC:
        type: tosca.nodes.CORDUser
@@ -137,3 +152,5 @@
 
 
 
+
+