diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..de807ff
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,3 @@
+node_modules
+typings
+npm-debug.log
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b947077
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+node_modules/
+dist/
diff --git a/Dockerfile b/Dockerfile
old mode 100755
new mode 100644
index 36cfca2..b8a636c
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,21 +1,10 @@
-# To build use: docker build -t xosproject/xos-sample-gui-extension .
-# To run use: docker run -p 4001:4000 -d xosproject/xos-sample-gui-extension
-
-FROM nginx
+FROM xosproject/xos-gui-extension-builder
 
 # Set environment vars
 ENV CODE_SOURCE .
 ENV CODE_DEST /var/www
 ENV VHOST /var/www/dist
 
-# Install nodeJs
-RUN apt-get update
-RUN apt-get install curl git bzip2 -y
-RUN curl -sL https://deb.nodesource.com/setup_4.x > install_node.sh
-RUN chmod a+x install_node.sh
-RUN ./install_node.sh
-RUN apt-get install -y nodejs
-
 # Add the app deps
 COPY ${CODE_SOURCE}/package.json ${CODE_DEST}/package.json
 COPY ${CODE_SOURCE}/typings.json ${CODE_DEST}/typings.json
@@ -25,11 +14,7 @@
 RUN npm install
 RUN npm run typings
 
-# Create folder for logs
-RUN mkdir -p /var/log/nginx/log
-
 # Build the app
-EXPOSE 4000
 COPY ${CODE_SOURCE}/conf ${CODE_DEST}/conf
 COPY ${CODE_SOURCE}/gulp_tasks ${CODE_DEST}/gulp_tasks
 COPY ${CODE_SOURCE}/src ${CODE_DEST}/src
@@ -37,7 +22,3 @@
 COPY ${CODE_SOURCE}/tsconfig.json ${CODE_DEST}/tsconfig.json
 COPY ${CODE_SOURCE}/tslint.json ${CODE_DEST}/tslint.json
 RUN npm run build
-
-# Override nginx configutaion
-COPY ${CODE_SOURCE}/nginx.conf ${CODE_DEST}/nginx.conf
-RUN mv ${CODE_SOURCE}/nginx.conf /etc/nginx/conf.d/default.conf
diff --git a/Makefile b/Makefile
deleted file mode 100644
index d90c9a4..0000000
--- a/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-CONTAINER_NAME 				= xos-sample-gui-extension
-CONTAINER_IMAGE_NAME 	= xosproject/$(CONTAINER_NAME)
-REDIS_HOST						= xos.dev
-
-run_container: build_container
-	docker run -p 4001:4000 --name $(CONTAINER_NAME) -d $(CONTAINER_IMAGE_NAME)
-
-build_container:
-	docker build -t $(CONTAINER_IMAGE_NAME) .
-
-onboard:
-	redis-cli -h $(REDIS_HOST) PUBLISH XOSComponent ''
-
-#onboard:
-#	redis-cli -h $(REDIS_HOST) PUBLISH Onboard '{"app": "$(CONTAINER_NAME)", "files": ["http://xos.dev:4001/spa/vendor.js", "http://xos.dev:4001/spa/app.js"]}'
-rm:
-	docker stop $(CONTAINER_NAME)
-	docker rm $(CONTAINER_NAME)
-
-rmi:
-	docker rmi $(CONTAINER_IMAGE_NAME)
-
-enter:
-	docker exec -it $(CONTAINER_NAME) bash
diff --git a/README.md b/README.md
index 2f21a2b..6bcfa0f 100644
--- a/README.md
+++ b/README.md
@@ -1,19 +1,20 @@
 # xos-sample-gui-extension
 
-## Demo
-
-To run this demo we suggest to setup `xos` using the `Vagrant` VM provided in the `fronted` configuration, but it is enabled for all the configuration.
-
-### Setup the extension container
-
-From any `service-profile` folder execute: `make xos_gui_sample_extension_c`
-
-> This command will build the container image (It is automatically triggered by the next command).
-
-### Onboard the GUI extension
-
-From any `service-profile` folder execute: `make ui-sample-extension`
-
 ## TODO:
 
-- [ ] Provide a dev environment
\ No newline at end of file
+- [ ] Provide a dev environment
+
+## Platform install integration
+
+Having a profile deployed is required. To add extensions listed in your `profile-manifest` as:
+
+```
+enabled_gui_extensions:
+  - name: sample
+    path: orchestration/xos-sample-gui-extension
+```
+
+_NOTE: the `name` field must match the subdirectory specified in `conf/app/gulp.conf.js` (eg: `dist/extensions/sample`)_
+
+Execute: `ansible-playbook -i inventory/mock-rcord deploy-xos-gui-extensions-playbook.yml`
+_NOTE: remember to replate `inventory/**` with the actual `cord_profile` you are using_ 
\ No newline at end of file
diff --git a/conf/gulp.conf.js b/conf/gulp.conf.js
index 730290d..a8d0964 100755
--- a/conf/gulp.conf.js
+++ b/conf/gulp.conf.js
@@ -18,7 +18,7 @@
  */
 exports.paths = {
   src: 'src',
-  dist: 'dist',
+  dist: 'dist/extensions/sample', // NOTE that 'sample' have to match the extension name provided in platform install
   appConfig: 'conf/app',
   tmp: '.tmp',
   e2e: 'e2e',
diff --git a/gulp_tasks/misc.js b/gulp_tasks/misc.js
index d766d14..d1e70ec 100755
--- a/gulp_tasks/misc.js
+++ b/gulp_tasks/misc.js
@@ -12,7 +12,7 @@
 gulp.task('other', other);
 
 function clean() {
-  return del([conf.paths.dist, conf.paths.tmp]);
+  return del([`${conf.paths.dist}/*`, conf.paths.tmp]);
 }
 
 function other() {
diff --git a/src/index.ts b/src/index.ts
index a8791d7..417424f 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -20,12 +20,12 @@
   .run(function(
     $log: ng.ILogService,
     $state: ng.ui.IStateService,
-    NavigationService: any,
+    XosNavigationService: any,
     XosComponentInjector: any,
     XosKeyboardShortcut: any) {
     $log.info('[xos-sample-gui-extension] App is running');
 
-    NavigationService.add({
+    XosNavigationService.add({
       label: 'Example Extension',
       state: 'xos.xos-sample-gui-extension.example-route',
     });
diff --git a/xos-sample-gui-extension.yaml b/xos-sample-gui-extension.yaml
new file mode 100644
index 0000000..2dcb037
--- /dev/null
+++ b/xos-sample-gui-extension.yaml
@@ -0,0 +1,15 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: Persiste xos-sample-gui-extension
+
+imports:
+   - custom_types/xos.yaml
+
+topology_template:
+  node_templates:
+
+    # UI Extension
+    xos-sample-gui-extension:
+      type: tosca.nodes.XOSGuiExtension
+      properties:
+        files: /spa/extensions/xos-sample-gui-extension/vendor.js, /spa/extensions/xos-sample-gui-extension/app.js
