diff --git a/gui/ngXosViews/serviceTopology/env/srikanth.js b/gui/ngXosViews/serviceTopology/env/srikanth.js
new file mode 100644
index 0000000..4ef1095
--- /dev/null
+++ b/gui/ngXosViews/serviceTopology/env/srikanth.js
@@ -0,0 +1,13 @@
+// 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://130.127.133.41:9999',
+  xoscsrftoken: 't2CRWsHu6ZgrhtLruizJlaJBLf84ZA2z',
+  xossessionid: 'kaohrwaypzq60n769e45bdmdyjxjpxrn'
+};
diff --git a/gui/ngXosViews/serviceTopology/karma.conf.js b/gui/ngXosViews/serviceTopology/karma.conf.js
index 83d3f63..5e312fa 100644
--- a/gui/ngXosViews/serviceTopology/karma.conf.js
+++ b/gui/ngXosViews/serviceTopology/karma.conf.js
@@ -26,8 +26,10 @@
 
     // list of files / patterns to load in the browser
     files: bowerComponents.concat([
-      '../../static/js/xosApi.js',
-      '../../static/js/vendor/ngXosHelpers.js',
+      '../../../xos/core/xoslib/static/js/vendor/ngXosVendor.js',
+      '../../../xos/core/xoslib/static/js/vendor/ngXosHelpers.js',
+      '../../../xos/core/xoslib/static/js/xosApi.js',
+      'src/js/main.js',
       'src/js/**/*.js',
       'spec/**/*.mock.js',
       'spec/**/*.test.js',
diff --git a/gui/ngXosViews/serviceTopology/package.json b/gui/ngXosViews/serviceTopology/package.json
index d7f3ca3..f77d454 100644
--- a/gui/ngXosViews/serviceTopology/package.json
+++ b/gui/ngXosViews/serviceTopology/package.json
@@ -21,25 +21,37 @@
   "devDependencies": {
     "browser-sync": "^2.9.11",
     "del": "^2.0.2",
+    "eslint": "^1.8.0",
+    "eslint-plugin-angular": "linkmesrl/eslint-plugin-angular",
     "gulp": "^3.9.0",
     "gulp-angular-filesort": "^1.1.1",
     "gulp-angular-templatecache": "^1.8.0",
     "gulp-babel": "^5.3.0",
     "gulp-concat": "^2.6.0",
+    "gulp-eslint": "^1.0.0",
     "gulp-inject": "^3.0.0",
     "gulp-minify-html": "^1.0.4",
+    "gulp-ng-annotate": "^1.1.0",
     "gulp-rename": "^1.2.2",
     "gulp-replace": "^0.5.4",
     "gulp-uglify": "^1.4.2",
     "http-proxy": "^1.12.0",
+    "jasmine-core": "^2.4.1",
+    "karma-jasmine": "^0.3.6",
+    "lodash": "^3.10.1",
     "proxy-middleware": "^0.15.0",
     "run-sequence": "^1.1.4",
     "wiredep": "^3.0.0-beta",
     "wrench": "^1.5.8",
-    "gulp-ng-annotate": "^1.1.0",
-    "lodash": "^3.10.1",
-    "eslint": "^1.8.0",
-    "eslint-plugin-angular": "linkmesrl/eslint-plugin-angular",
-    "gulp-eslint": "^1.0.0"
+    "phantomjs": "^1.9.19",
+    "ink-docstrap": "^0.5.2",
+    "jasmine-core": "~2.3.4",
+    "karma": "^0.13.14",
+    "karma-babel-preprocessor": "~5.2.2",
+    "karma-coverage": "^0.5.3",
+    "karma-jasmine": "~0.3.6",
+    "karma-mocha-reporter": "~1.1.1",
+    "karma-ng-html2js-preprocessor": "^0.2.0",
+    "karma-phantomjs-launcher": "~0.2.1"
   }
 }
diff --git a/gui/ngXosViews/serviceTopology/src/js/services.js b/gui/ngXosViews/serviceTopology/src/js/services.js
index 21ca9aa..a39a1a6 100644
--- a/gui/ngXosViews/serviceTopology/src/js/services.js
+++ b/gui/ngXosViews/serviceTopology/src/js/services.js
@@ -35,9 +35,12 @@
 
     const buildLevel = (tenants, services, rootService, parentName = null) => {
 
+      console.log(rootService);
+
       const tree = {
         name: rootService.humanReadableName,
         parent: parentName,
+        service: rootService,
         children: []
       };
 
diff --git a/gui/ngXosViews/serviceTopology/src/js/topologyCanvas.js b/gui/ngXosViews/serviceTopology/src/js/topologyCanvas.js
index f7a70e5..0df7bd6 100644
--- a/gui/ngXosViews/serviceTopology/src/js/topologyCanvas.js
+++ b/gui/ngXosViews/serviceTopology/src/js/topologyCanvas.js
@@ -84,7 +84,6 @@
           nodes.forEach(function(d) {
             // position the child node horizontally
             d.y = d.depth * (($window.innerWidth - (serviceTopologyConfig.widthMargin * 2)) / maxDepth);
-            console.log(d.x);
           });
 
           // Update the nodes…
@@ -206,7 +205,7 @@
             name: d.name
           };
 
-          Slice.query({service: d.id}).$promise
+          Slice.query({service: d.service.id}).$promise
           .then(slices => {
             _this.slices = slices;
 
@@ -237,7 +236,6 @@
                 })
                 .text(() => {
                   if(slices[0]){
-                    console.log(slices[0].humanReadableName);
                     return slices[0].humanReadableName;
                   }
 
