Ready to start development
diff --git a/mCordPortal/src/app/view/home/home.html b/mCordPortal/src/app/view/home/home.html
index f464ad2..8fed31a 100644
--- a/mCordPortal/src/app/view/home/home.html
+++ b/mCordPortal/src/app/view/home/home.html
@@ -1,56 +1 @@
-<!-- Home page partial html -->
-<div id="home" class="container">
-    <div class="row">
-        <div class="col-sm-6 hidden-xs">
-            <img class="img-responsive img-rounded" src="/imgs/stanford.jpg">
-            <p class="text-right small">&copy; Wikipedia</p>
-        </div>
-        <div class="col-sm-6">
-            <div class="bundle-title">
-                <h2>Welcome!</h2>
-                <h5>You are subscribed to the</h5>
-            </div>
-
-            <div class="panel panel-primary">
-                <div class="panel-heading">
-                    <h3 class="panel-title">{{bundle_name}}</h3>
-                </div>
-                <div class="panel-body">
-                    {{bundle_desc}}
-                </div>
-            </div>
-
-            <div class="panel panel-primary">
-                <div class="panel-heading">
-                    <h3 class="panel-title">Users</h3>
-                </div>
-                <table class="table">
-                    <thead>
-                    <tr>
-                        <th></th>
-                        <th>Name</th>
-                        <th>Last Login</th>
-                    </tr>
-                    </thead>
-                    <tbody>
-
-                    <!--<pre>{{users | json}}</pre>-->
-
-                    <tr ng-repeat="user in users" class="animate-repeat" ng-show="users">
-                        <td class="avatar">
-                            <img class="img-responsive img-rounded" ng-src="{{'/imgs/' + user.icon_id + '.jpg'}}">
-                        </td>
-                        <td>{{user.name}}</td>
-                        <td>{{shared.userActivity[user.id]}}</td>
-                    </tr>
-                    <tr ng-show="!users">
-                        <td colspan="3">
-                            <div class="loader"></div>
-                        </td>
-                    </tr>
-                    </tbody>
-                </table>
-            </div>
-        </div>
-    </div>
-</div>
\ No newline at end of file
+<ng-map center="[40.74, -74.18]"></ng-map>
\ No newline at end of file
diff --git a/mCordPortal/src/app/view/home/home.js b/mCordPortal/src/app/view/home/home.js
index 1e32c0f..6e6b4a7 100644
--- a/mCordPortal/src/app/view/home/home.js
+++ b/mCordPortal/src/app/view/home/home.js
@@ -17,22 +17,16 @@
 (function () {
   'use strict';
 
-  angular.module('cordHome', [])
-    .controller('CordHomeCtrl', function ($log, $scope, $cookies, cordConfig, SubscriberUsers) {
-
-      $scope.page.curr = 'dashboard';
-
-      $scope.bundle_name = cordConfig.bundles[cordConfig.activeBundle].name;
-      $scope.bundle_desc = cordConfig.bundles[cordConfig.activeBundle].desc;
-      
-      SubscriberUsers.query({subscriberId: $cookies.get('subscriberId')}).$promise
-      .then(function(res){
-        $scope.users = res;
-      })
-      .catch(function(){
-        $log.error('Problem with resource', SubscriberUsers);
-      });
-
-      $log.debug('Cord Home Ctrl has been created.');
+  angular.module('mCord')
+    .directive('eNodeMap', function () {
+      return {
+        restric: 'E',
+        scope: {},
+        controllerAs: 'vm',
+        templateUrl: 'app/view/home/home.html',
+        controller: function($log){
+          $log.debug('Cord Home Ctrl has been created.');
+        }
+      }
     });
 }());
diff --git a/mCordPortal/src/app/view/login/login.html b/mCordPortal/src/app/view/login/login.html
index 426a2e9..178f21b 100644
--- a/mCordPortal/src/app/view/login/login.html
+++ b/mCordPortal/src/app/view/login/login.html
@@ -2,17 +2,17 @@
 <div class="container login">
     <div class="login-wrapper">
         <h3 class="text-center">Subscriber Portal</h3>
-        <form ng-submit="login()">
+        <form ng-submit="vm.login()">
             <div class="form-group">
-                <input class="form-control" ng-model="email" type="text" placeholder="email" required>
+                <input class="form-control" ng-model="vm.email" type="text" placeholder="email" required>
             </div>
             <div class="form-group">
-                <input class="form-control" ng-model="password" type="password" placeholder="password" required>
+                <input class="form-control" ng-model="vm.password" type="password" placeholder="password" required>
             </div>
             <div class="form-group">
                 <button class="btn btn-primary btn-block" type="submit">
                     Log In
-                    <div class="loader small reverse inline" ng-show="loading === true"></div>
+                    <div class="loader small reverse inline" ng-show="vm.loading === true"></div>
                 </button>
             </div>
             <div class="form-group" ng-show="error">
diff --git a/mCordPortal/src/app/view/login/login.js b/mCordPortal/src/app/view/login/login.js
index 170abcf..348fc42 100644
--- a/mCordPortal/src/app/view/login/login.js
+++ b/mCordPortal/src/app/view/login/login.js
@@ -17,31 +17,36 @@
 (function () {
   'use strict';
 
-  angular.module('cordLogin', [])
-    .controller('CordLoginCtrl', function ($log, $scope, $resource, $location, $window, User) {
+  angular.module('mCord')
+    .directive('cordLogin', function ($log, $location, User) {
 
-      $scope.page.curr = 'login';
-      $scope.loading = false;
+      return {
+        restrict: 'E',
+        templateUrl: 'app/view/login/login.html',
+        controllerAs: 'vm',
+        controller: function(){
 
-      $scope.login = function () {
-        if ($scope.email && $scope.password) {
-          //getResource($scope.email);
-          $scope.loading = true;
-          User.login($scope.email, $scope.password)
-          .then(function(user){
-            $location.url('/');
-          })
-          .catch(function(e){
-            $scope.error = true;
-          })
-          .finally(function(){
-            $scope.loading = false;
-          });;
+          this.loading = false;
 
-          $scope.shared.login = $scope.email;
+          this.login = () => {
+            if (this.email && this.password) {
+              this.loading = true;
+              User.login(this.email, this.password)
+              .then(() => {
+                $location.url('/');
+              })
+              .catch(() => {
+                this.error = true;
+              })
+              .finally(() => {
+                this.loading = false;
+              });
+            }
+          };
+
+          $log.debug('Cord Login Ctrl has been created.');
         }
-      };
+      }
 
-      $log.debug('Cord Login Ctrl has been created.');
     });
 }());
diff --git a/mCordPortal/src/app/view/bundle/available.html b/mCordPortal/src/app/view/services/available.html
similarity index 100%
rename from mCordPortal/src/app/view/bundle/available.html
rename to mCordPortal/src/app/view/services/available.html
diff --git a/mCordPortal/src/app/view/bundle/bundle.html b/mCordPortal/src/app/view/services/services.html
similarity index 100%
rename from mCordPortal/src/app/view/bundle/bundle.html
rename to mCordPortal/src/app/view/services/services.html
diff --git a/mCordPortal/src/app/view/bundle/bundle.js b/mCordPortal/src/app/view/services/services.js
similarity index 93%
rename from mCordPortal/src/app/view/bundle/bundle.js
rename to mCordPortal/src/app/view/services/services.js
index 310118b..6d23d5e 100644
--- a/mCordPortal/src/app/view/bundle/bundle.js
+++ b/mCordPortal/src/app/view/services/services.js
@@ -22,11 +22,10 @@
   var basic = 'basic',
     family = 'family';
 
-  angular.module('cordBundle', [])
+  angular.module('mCord')
     .controller('CordBundleCtrl', function ($log, $scope, $resource, cordConfig) {
       var BundleData, resource,
         getData;
-      $scope.page.curr = 'bundle';
       $scope.show = false;
 
       // set the current bundle
@@ -66,7 +65,7 @@
     })
     .directive('bundleAvailable', function () {
       return {
-        templateUrl: 'app/view/bundle/available.html'
+        templateUrl: 'app/view/services/available.html'
       };
     });
 }());
diff --git a/mCordPortal/src/app/view/user/ratingPanel.html b/mCordPortal/src/app/view/user/ratingPanel.html
deleted file mode 100644
index 04ee430..0000000
--- a/mCordPortal/src/app/view/user/ratingPanel.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!--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/mCordPortal/src/app/view/user/user.html b/mCordPortal/src/app/view/user/user.html
deleted file mode 100644
index c72b7d7..0000000
--- a/mCordPortal/src/app/view/user/user.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<!-- Users page partial html -->
-<div class="container">
-    <div id="user" class="row">
-        <div class="col-xs-12">
-            <table class="table">
-                <thead>
-                    <tr>
-                        <th></th>
-                        <th class="form-inline">
-                            Name <input ng-model="q.name" type="text" class="form-control">
-                        </th>
-                        <th>Last Login</th>
-                        <th ng-if="isFamily">
-                            Video Optimization:
-                        </th>
-                        <th ng-if="isFamily"></th>
-                    </tr>
-                </thead>
-                <tr ng-repeat="user in users | filter:q" class="animate-repeat" ng-show="users.length > 0">
-                    <td class="avatar">
-                        <img class="img-rounded" ng-src="{{'/imgs/' + user.icon_id + '.jpg'}}">
-                    </td>
-                    <td>{{user.name}}</td>
-                    <td>{{shared.userActivity[user.id]}}</td>
-                    <td ng-if="isFamily">
-                        <select class="form-control" ng-model="user.level" ng-options="l for l in levels" ng-change="updateLevel(user)">
-                        </select>
-                    </td>
-                    <td ng-if="isFamily" style="width: 46px">
-                        <user-updated-tick user="user">Saved</user-updated-tick>
-                    </td>
-                </tr>
-                <tr ng-show="!users">
-                    <td colspan="4">
-                        <div class="loader"></div>
-                    </td>
-                </tr>
-            </table>
-        </div>
-    </div>
-</div>
\ No newline at end of file
diff --git a/mCordPortal/src/app/view/user/user.js b/mCordPortal/src/app/view/user/user.js
deleted file mode 100644
index 78a3a61..0000000
--- a/mCordPortal/src/app/view/user/user.js
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * 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, $cookies, 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 === 'video'){
-                console.log(fn);
-                $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 animate" 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);
-            }
-          });
-        }
-      }
-    });
-}());