diff --git a/app/common/directives/app-header.html b/app/common/directives/app-header.html
index 5b2de3d..e9e3f2c 100644
--- a/app/common/directives/app-header.html
+++ b/app/common/directives/app-header.html
@@ -1,17 +1,16 @@
 <div id="header__wrapper">
 <!-- HEADER -->
 <!-- Class of status-light__good has 3 states: status-light__good, status-light__error, status-light__disabled -->
-<!-- Server Power buttton links to 'server power operations' page; Server Status may link to event log page. TBD.-->
 <header id="header">
     <span class="app__version float-left">{{dataService.app_version}}</span>
     <a href="" class="header__logout" ng-click="logout()">Log out</a>
 </header>
 <div class="header__functions-wrapper" role="heading">
     <div class="logo__wrapper"><img src="assets/images/logo.svg" id="header__logo"  alt="company logo"/></div>
-    <button id="header__server-name">{{dataService.server_id}}</button>
+    <button id="header__server-name">Server {{dataService.server_id}}</button>
     <div class="header__functions">
-        <a href="" id="header__server-health">Server health<span class="status-light__error">{{dataService.server_health}}</span></a>
-        <a href="#/overview/power-operations" class="header__server-power" role="button">Server power<span ng-class="{'status-light__error': dataService.server_state == 'Off', 'status-light__disabled': dataService.server_state == 'Unreachable', 'status-light__good': dataService.server_state == 'Running', 'status-light__warn': dataService.server_state == 'Quiesced'}">{{dataService.server_state}}</span></a>
+        <a href="#/server-health/event-log" id="header__server-health">Server health<span class="status-light__error">{{dataService.server_health}}</span></a>
+        <a href="#/server-control/power-operations" class="header__server-power" role="button">Server power<span ng-class="{'status-light__error': dataService.server_state == 'Off', 'status-light__disabled': dataService.server_state == 'Unreachable', 'status-light__good': dataService.server_state == 'Running', 'status-light__warn': dataService.server_state == 'Quiesced'}">{{dataService.server_state}}</span></a>
         <p class="header__refresh">Page last refreshed <span>{{dataService.last_updated |date:'h:mm:ss MMM dd yyyy'}}</span></p>
         <button class="header__page-refresh" ng-click="refresh()"><img src="assets/images/icon-refresh-white.svg" alt="refresh page" role="button"/></button>
     </div>
diff --git a/app/common/directives/app-navigation.html b/app/common/directives/app-navigation.html
index 6a0fb14..ce7e5c6 100644
--- a/app/common/directives/app-navigation.html
+++ b/app/common/directives/app-navigation.html
@@ -1,65 +1,64 @@
 <nav>
     <ul id="nav__top-level" ng-style="navStyle">
         <li>
-            <button class="btn-overview" ng-class="{opened: firstLevel == 'overview'}" ng-click="firstLevel = 'overview';" tabindex="1">
+            <button class="btn-overview" ng-class="{opened: firstLevel == 'overview'}" ng-click="change('overview')" tabindex="1">
 
 
-                <span class="">Server overview</span></button>
+                <span class="">Server Overview</span></button>
         </li>
         <li>
-            <button class="btn-health" ng-class="{opened: firstLevel == 'health'}" ng-click="firstLevel = 'health';" tabindex="9">
+            <button class="btn-health" ng-class="{opened: firstLevel == 'server-health'}" ng-click="change('server-health')" tabindex="9">
 
-                <span>Server health</span></button>
+                <span>Server Health</span></button>
         </li>
         <li>
-            <button class="btn-control" ng-class="{opened: firstLevel == 'control'}" ng-click="firstLevel = 'control';">
+            <button class="btn-control" ng-class="{opened: firstLevel == 'server-control'}" ng-click="change('server-control')">
 
-                <span>Server control</span></button>
+                <span>Server Control</span></button>
         </li>
         <li>
-            <button class="btn-config" ng-class="{opened: firstLevel == 'config'}" ng-click="firstLevel = 'config';">
+            <button class="btn-config" ng-class="{opened: firstLevel == 'configuration'}" ng-click="change('configuration')">
 
                 <span>Configuration</span></button>
         </li>
         <li>
-            <button class="btn-firmware" ng-class="{opened: firstLevel == 'firmware'}" ng-click="firstLevel = 'firmware';">
+            <button class="btn-firmware" ng-class="{opened: firstLevel == 'firmware'}" ng-click="change('firmware')">
 
                 <span>Firmware</span></button>
         </li>
         <li>
-            <button class="btn-users" ng-class="{opened: firstLevel == 'users'}" ng-click="firstLevel = 'users';">
+            <button class="btn-users" ng-class="{opened: firstLevel == 'users'}" ng-click="change('users')">
 
                 <span>Users</span></button>
         </li>
     </ul>
     <ul class="nav__second-level btn-overview" ng-style="navStyle" ng-class="{opened: firstLevel == 'overview'}">
-        <li ng-class="{'active': (path == '/overview/system')}" tabindex="2"><a href="#/system-overview">System overview</a></li>
-
+        <li ng-class="{'active': (path == '/overview' || path == '/overview/system')}" tabindex="2"><a href="#/overview/system">System Overview</a></li>
     </ul>
-    <ul class="nav__second-level btn-health" ng-style="navStyle"  ng-class="{opened: firstLevel == 'health'}">
-        <li ng-class="{'active': (path == '/overview/log')}"><a href="#/overview/log" tabindex="7">Event log</a></li>
-        <li ng-class="{'active': (path == '/overview/inventory-overview')}"><a href="#/overview/inventory-overview">Hardware Inventory</a></li>
-        <li ng-class="{'active': (path == '/overview/sensors-overview') || (path == '/overview/sensors')}"><a href="#/overview/sensors-overview">Sensor data</a></li>
-        <li ng-class="{'active': (path == '/overview/power-consumption')}"><a href="" tabindex="4">Power consumption</a></li>
-        <li ng-class="{'active': (path == '/overview/unit-id')}"><a href="#/overview/unit-id" tabindex="6">Unit id</a></li>
-        <li><a href="">Diagnostics</a></li>
+    <ul class="nav__second-level btn-health" ng-style="navStyle"  ng-class="{opened: firstLevel == 'server-health'}">
+        <li ng-class="{'active': (path == '/server-health' || path == '/server-health/event-log')}"><a href="#/server-health/event-log" tabindex="7">Event Log</a></li>
+        <li ng-class="{'active': (path == '/server-health/inventory-overview' || path == '/server-health/inventory')}"><a href="#/server-health/inventory-overview">Hardware Inventory</a></li>
+        <li ng-class="{'active': (path == '/server-health/sensors-overview' || path == '/server-health/sensors')}"><a href="#/server-health/sensors-overview">Sensor Data</a></li>
+        <li ng-class="{'active': (path == '/server-health/power-consumption')}"><a href="#/server-health/power-consumption" tabindex="4">Power consumption</a></li>
+        <li ng-class="{'active': (path == '/server-health/unit-id')}"><a href="#/server-health/unit-id" tabindex="6">Unit ID</a></li>
+        <li ng-class="{'active': (path == '/server-health/diagnostics')}"><a href="#/server-health/diagnostics">Diagnostics</a></li>
     </ul>
-    <ul class="nav__second-level btn-control" ng-style="navStyle"  ng-class="{opened: firstLevel == 'control'}">
-        <li ng-class="{'active': (path == '/overview/power-operations')}" tabindex="3"><a href="#/overview/power-operations">Server power operations</a></li>
-        <li ng-class="{'active': (path == '/overview/bmc-reboot')}"><a href="#/overview/bmc-reboot" tabindex="8">Reboot BMC</a></li>
-        <li ng-class="{'active': (path == '/overview/remote-console')}"><a href="" tabindex="5">Remote console</a></li>
+    <ul class="nav__second-level btn-control" ng-style="navStyle"  ng-class="{opened: firstLevel == 'server-control'}">
+        <li ng-class="{'active': (path == '/server-control' || path == '/server-control/power-operations')}" tabindex="3"><a href="#/server-control/power-operations">Server power operations</a></li>
+        <li ng-class="{'active': (path == '/server-control/bmc-reboot')}"><a href="#/server-control/bmc-reboot" tabindex="8">Reboot BMC</a></li>
+        <li ng-class="{'active': (path == '/server-control/remote-console')}"><a href="#/server-control/remote-console" tabindex="5">Remote console</a></li>
     </ul>
-    <ul class="nav__second-level btn-firmware" ng-style="navStyle"  ng-class="{opened: firstLevel == 'config'}">
-        <li><a href="">Network Configuration</a></li>
-        <li><a href="">Date & Time</a></li>
-        <li><a href="">Security</a></li>
-        <li><a href="">Configuration File</a></li>
+    <ul class="nav__second-level btn-firmware" ng-style="navStyle"  ng-class="{opened: firstLevel == 'configuration'}">
+        <li ng-class="{'active': (path == '/configuration' || path == '/configuration/network')}"><a href="#/configuration/network">Network Configuration</a></li>
+        <li ng-class="{'active': (path == '/configuration/date-time')}"><a href="#/configuration/date-time">Date & Time</a></li>
+        <li ng-class="{'active': (path == '/configuration/security')}"><a href="#/configuration/security">Security</a></li>
+        <li ng-class="{'active': (path == '/configuration/file')}"><a href="#/configuration/file">Configuration File</a></li>
     </ul>
     <ul class="nav__second-level btn-firmware" ng-style="navStyle"  ng-class="{opened: firstLevel == 'firmware'}">
-        <li><a href="">BMC Firmawre</a></li>
-        <li><a href="">Server Firmware</a></li>
+        <li ng-class="{'active': (path == '/firmware' || path == '/firmware/bmc')}"><a href="#/firmware/bmc">BMC Firmawre</a></li>
+        <li ng-class="{'active': (path == '/firmware/server')}"><a href="#/firmware/server">Server Firmware</a></li>
     </ul>
     <ul class="nav__second-level btn-users" ng-style="navStyle"  ng-class="{opened: firstLevel == 'users'}">
-        <li><a href="">Manage User Account</a></li>
+        <li ng-class="{'active': (path == '/users' || path == '/users/manage-accounts')}"><a href="#/users/manage-accounts">Manage User Account</a></li>
     </ul>
 </nav>
diff --git a/app/common/directives/app-navigation.js b/app/common/directives/app-navigation.js
index d09588a..6939a3c 100644
--- a/app/common/directives/app-navigation.js
+++ b/app/common/directives/app-navigation.js
@@ -11,11 +11,20 @@
                     'path': '=',
                     'showNavigation': '='
                 },
-                'controller': ['$scope', 'dataService', function($scope, dataService){
+                'controller': ['$scope', '$location', 'dataService', function($scope, $location, dataService){
+                    $scope.change = function(firstLevel){
+                        $scope.firstLevel = firstLevel;
+                        $location.path('/'+firstLevel);
+                    }
                     $scope.$watch('showNavigation', function(){
                         var paddingTop = 0;
-                        $scope.firstLevel = 'overview';
-                        $scope.secondLevel = 'system_overview';
+                        var urlRoot = $location.path().split("/")[1];
+                        if(urlRoot != ""){
+                            $scope.firstLevel = urlRoot;
+                        }else{
+                            $scope.firstLevel = 'overview';
+                        }
+
                         if($scope.showNavigation){
                             paddingTop = document.getElementById('header__wrapper').offsetHeight;
                         }
diff --git a/app/common/directives/dirPagination.tpl.html b/app/common/directives/dirPagination.tpl.html
new file mode 100644
index 0000000..d3c0e41
--- /dev/null
+++ b/app/common/directives/dirPagination.tpl.html
@@ -0,0 +1,18 @@
+<ul class="pagination" ng-if="1 < pages.length || !autoHide">
+    <li ng-if="boundaryLinks" ng-class="{ disabled : pagination.current == 1 }">
+        <a href="" ng-click="setCurrent(1)">First</a>
+    </li>
+    <li ng-if="directionLinks" ng-class="{ disabled : pagination.current == 1 }">
+        <a href="" ng-click="setCurrent(pagination.current - 1)">Previous</a>
+    </li>
+    <li ng-repeat="pageNumber in pages track by tracker(pageNumber, $index)" ng-class="{ active : pagination.current == pageNumber, disabled : pageNumber == '...' }">
+        <a href="" ng-click="setCurrent(pageNumber)">{{ pageNumber }}</a>
+    </li>
+
+    <li ng-if="directionLinks" ng-class="{ disabled : pagination.current == pagination.last }">
+        <a href="" ng-click="setCurrent(pagination.current + 1)">Next</a>
+    </li>
+    <li ng-if="boundaryLinks"  ng-class="{ disabled : pagination.current == pagination.last }">
+        <a href="" ng-click="setCurrent(pagination.last)">Last</a>
+    </li>
+</ul>
\ No newline at end of file
diff --git a/app/common/directives/toggle-flag.js b/app/common/directives/toggle-flag.js
new file mode 100644
index 0000000..aca09ca
--- /dev/null
+++ b/app/common/directives/toggle-flag.js
@@ -0,0 +1,31 @@
+window.angular && (function (angular) {
+    'use strict';
+
+    angular
+        .module('app.common.directives')
+        .directive('toggleFlag', function ($document) {
+            return {
+                restrict: 'A',
+                link: function (scope, element, attrs) {
+        
+                    function elementClick(e) {
+                        e.stopPropagation();
+                    }
+        
+                    function documentClick(e) {
+                        scope[attrs.toggleFlag] = false;
+                        scope.$apply();
+                    }
+        
+                    element.on('click', elementClick);
+                    $document.on('click', documentClick);
+        
+                    // remove event handlers when directive is destroyed
+                    scope.$on('$destroy', function () {
+                        element.off('click', elementClick);
+                        $document.off('click', documentClick);
+                    });
+                }
+            };
+        });
+})(window.angular);
\ No newline at end of file
diff --git a/app/common/services/api-utils.js b/app/common/services/api-utils.js
index 65ae86b..0a96f62 100644
--- a/app/common/services/api-utils.js
+++ b/app/common/services/api-utils.js
@@ -19,6 +19,8 @@
               CHASSIS_POWER_STATE: Constants.CHASSIS_POWER_STATE,
               HOST_STATE_TEXT: Constants.HOST_STATE,
               HOST_STATE: Constants.HOST_STATE,
+              LED_STATE: Constants.LED_STATE,
+              LED_STATE_TEXT: Constants.LED_STATE_TEXT,
               getChassisState: function(callback){
                 $http({
                   method: 'GET',
@@ -53,6 +55,23 @@
                   console.log(error);
                 });
               },
+              getLEDState: function(callback){
+                $http({
+                  method: 'GET',
+                  url: SERVICE.API_CREDENTIALS.host + "/xyz/openbmc_project/led/groups/enclosure_identify",
+                  headers: {
+                      'Accept': 'application/json',
+                      'Content-Type': 'application/json'
+                  },
+                  withCredentials: true
+                }).success(function(response){
+                      var json = JSON.stringify(response);
+                      var content = JSON.parse(json);
+                      callback(content.data.Asserted);
+                }).error(function(error){
+                  console.log(error);
+                });
+              },
               login: function(username, password, callback){
                 $http({
                   method: 'POST',
@@ -69,7 +88,11 @@
                   }
                 }).error(function(error){
                   if(callback){
-                      callback(null, true);
+                      if(error && error.status && error.status == 'error'){
+                        callback(error);
+                      }else{
+                        callback(error, true);
+                      }
                   }
                   console.log(error);
                 });
@@ -143,6 +166,30 @@
                   }
                 });
               },
+              setLEDState: function(state, callback){
+                $http({
+                  method: 'PUT',
+                  url: SERVICE.API_CREDENTIALS.host + "/xyz/openbmc_project/led/groups/enclosure_identify/attr/Asserted",
+                  headers: {
+                      'Accept': 'application/json',
+                      'Content-Type': 'application/json'
+                  },
+                  withCredentials: true,
+                  data: JSON.stringify({"data": state})
+                }).success(function(response){
+                      var json = JSON.stringify(response);
+                      var content = JSON.parse(json);
+                      if(callback){
+                          return callback(content.status);
+                      }
+                }).error(function(error){
+                  if(callback){
+                      callback(error);
+                  }else{
+                      console.log(error);
+                  }
+                });
+              },
               bmcReboot: function(callback){
                 $http({
                   method: 'PUT',
@@ -262,6 +309,57 @@
                       console.log(error);
                   }
                 });
+              },
+              getLogs: function(callback){
+                $http({
+                  method: 'GET',
+                  url: SERVICE.API_CREDENTIALS.host + "/xyz/openbmc_project/logging/enumerate",
+                  headers: {
+                      'Accept': 'application/json',
+                      'Content-Type': 'application/json'
+                  },
+                  withCredentials: true
+                }).success(function(response){
+                      var json = JSON.stringify(response);
+                      var content = JSON.parse(json);
+                      var dataClone = JSON.parse(JSON.stringify(content.data));
+                      var data = [];
+                      var severityCode = '';
+                      var priority = '';
+                      var resolved = false;
+                      var relatedItems = [];
+
+                      for(var key in content.data){
+                        if(content.data.hasOwnProperty(key) && content.data[key].hasOwnProperty('Id')){
+                          var severityFlags = {low: false, medium: false, high: false};
+                          severityCode = content.data[key].Severity.split(".").pop();
+                          priority = Constants.SEVERITY_TO_PRIORITY_MAP[severityCode];
+                          severityFlags[priority.toLowerCase()] = true;
+                          relatedItems = [];
+                          content.data[key].associations.forEach(function(item){
+                            relatedItems.push(item[2]); //@TODO: better way to find the third item?
+                          });
+
+                          data.push(Object.assign({
+                            path: key,
+                            copied: false,
+                            priority: priority,
+                            severity_code: severityCode,
+                            severity_flags: severityFlags,
+                            additional_data: content.data[key].AdditionalData.join("\n"),
+                            selected: false,
+                            search_text: (severityCode + " " + content.data[key].Severity + " " + content.data[key].AdditionalData.join(" ")).toLowerCase(),
+                            meta: false,
+                            confirm: false,
+                            related_items: relatedItems,
+                            data: {key: key, value: content.data[key]}
+                          }, content.data[key]));
+                        }
+                      }
+                      callback(data, dataClone);
+                }).error(function(error){
+                  console.log(error);
+                });
               }
           };
           return SERVICE;
diff --git a/app/common/services/apiInterceptor.js b/app/common/services/apiInterceptor.js
index 0c75caa..bd4743a 100644
--- a/app/common/services/apiInterceptor.js
+++ b/app/common/services/apiInterceptor.js
@@ -16,16 +16,23 @@
         .service('apiInterceptor', ['$q', '$rootScope', 'dataService', function($q, $rootScope, dataService){
             return {
                 'request': function(config){
-                    dataService.server_unreachable = false;
                     dataService.loading = true;
+                    config.timeout = 10000;
                     return config;
                 },
                 'response': function(response){
                     dataService.loading = false;
-                    dataService.last_updated = new Date();
 
+                    //not interested in template requests
+                    if(!/^https?\:/i.test(response.config.url)){
+                        return response;
+                    }
+
+                    dataService.last_updated = new Date();
                     if(response == null){
                         dataService.server_unreachable = true;
+                    }else{
+                        dataService.server_unreachable = false;
                     }
 
                     if(response && response.status == 'error' &&
diff --git a/app/common/services/constants.js b/app/common/services/constants.js
index b98d5d6..86ba54e 100644
--- a/app/common/services/constants.js
+++ b/app/common/services/constants.js
@@ -20,7 +20,7 @@
                     password: "testpass",
                 },
                 API_CREDENTIALS: {
-                    host: 'https://9.3.164.147'
+                    host: 'https://9.41.165.233/'
                 },
                 API_RESPONSE: {
                     ERROR_STATUS: 'error',
@@ -43,8 +43,24 @@
                     off: -1,
                     booting: 0,
                     unreachable: -2
+                },
+                LED_STATE: {
+                    on: true,
+                    off: false
+                },
+                LED_STATE_TEXT: {
+                    on: 'on',
+                    off: 'off'
+                },
+                SEVERITY_TO_PRIORITY_MAP:{
+                    Informational: 'Low',
+                    Error: 'High',
+                    Warning: 'Medium'
+                },
+                PAGINATION: {
+                    LOG_ITEMS_PER_PAGE: 4
                 }
             };
         });
 
-})(window.angular);
\ No newline at end of file
+})(window.angular);
diff --git a/app/common/services/dataService.js b/app/common/services/dataService.js
index 704df75..2affcc4 100644
--- a/app/common/services/dataService.js
+++ b/app/common/services/dataService.js
@@ -19,7 +19,8 @@
             this.server_state = 'Unreachable';
             this.server_status = -2;
             this.chassis_state = 'On';
-            this.server_id = "Server 9.3.164.147";
+            this.LED_state = Constants.LED_STATE_TEXT.off;
+            this.server_id = Constants.API_CREDENTIALS.host.replace(/[^\d]+/m,"");
             this.last_updated = new Date();
 
             this.loading = false;
diff --git a/app/common/services/userModel.js b/app/common/services/userModel.js
index dba607d..747b288 100644
--- a/app/common/services/userModel.js
+++ b/app/common/services/userModel.js
@@ -41,6 +41,8 @@
                            response.status == APIUtils.API_RESPONSE.SUCCESS_STATUS){
                             sessionStorage.removeItem('LOGIN_ID');
                             callback(true);
+                        }else if(response.status == APIUtils.API_RESPONSE.ERROR_STATUS){
+                            callback(false);
                         }else{
                             callback(false, error);
                         }
diff --git a/app/common/styles/base/core.scss b/app/common/styles/base/core.scss
index 18f78aa..13ba9e6 100644
--- a/app/common/styles/base/core.scss
+++ b/app/common/styles/base/core.scss
@@ -17,7 +17,6 @@
   }
   &:hover {
     color: $links__hover;
-    text-decoration: underline;
   }
   :focus {
     color: $links;
diff --git a/app/common/styles/base/mixins.scss b/app/common/styles/base/mixins.scss
index 3313a88..acc8fd4 100644
--- a/app/common/styles/base/mixins.scss
+++ b/app/common/styles/base/mixins.scss
@@ -57,18 +57,18 @@
   background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: #b8c1c1'></polygon></svg>");
 }
 
-//Offset allows to subtract a custom padding/margin offset
+
 @mixin calcColumn-4 ($offset: 0) {
   min-width: calc(100% * (1/4) - #{$offset});
 }
 
 
-@mixin calcColumn-3 ($offset: 0){
-  min-width: calc(100% * (1/3) - #{$offset});
+@mixin calcColumn-3 {
+  min-width: calc(100% * (1/3) - 5px);
 }
 
-@mixin calcSplitColumn ($offset: 0) {
-  min-width: calc(100% * (1/2) - #{$offset});
+@mixin calcSplitColumn {
+  min-width: calc(100% * (1/2) - 5px);
 }
 
 
diff --git a/app/common/styles/directives/app-navigation.scss b/app/common/styles/directives/app-navigation.scss
index 29932e4..99fef2b 100644
--- a/app/common/styles/directives/app-navigation.scss
+++ b/app/common/styles/directives/app-navigation.scss
@@ -1,4 +1,4 @@
-$nav__toplvlWidth: 120px;
+$nav__toplvlWidth: 125px;
 $nav__seclvlWidth: 240px;
 
 // Top level navigation
diff --git a/app/common/styles/elements/accordion.scss b/app/common/styles/elements/accordion.scss
index 9cf310f..c3d9e0f 100644
--- a/app/common/styles/elements/accordion.scss
+++ b/app/common/styles/elements/accordion.scss
@@ -7,18 +7,16 @@
   background: $darkpurple;
   color: $white;
   margin-left: 0;
-
   .event__actions {
     margin-top: 1em;
     margin-right: 10px;
     @include mediaQuery(medium) {
-      margin-top: 0;
+      margin-top: -6px;
     }
     @include mediaQuery(large) {
       margin-right: -20px;
     }
   }
-
 }
 
 .accord-trigger {
diff --git a/app/common/styles/elements/content-search.scss b/app/common/styles/elements/content-search.scss
index fe67af2..3bb3ffa 100644
--- a/app/common/styles/elements/content-search.scss
+++ b/app/common/styles/elements/content-search.scss
@@ -9,7 +9,6 @@
   position: relative;
   margin-right: 1em;
   margin-top: .5em;
-  margin-bottom: 1em;
   #content__search-input {
     margin: 0;
     border: 1px solid $lightgrey;
diff --git a/app/common/styles/elements/index.scss b/app/common/styles/elements/index.scss
index d0208ac..d35b79a 100644
--- a/app/common/styles/elements/index.scss
+++ b/app/common/styles/elements/index.scss
@@ -2,10 +2,11 @@
 @import "toggle-switch";
 @import "toggle-filter";
 @import "status";
+@import "tags";
 @import "alerts";
 @import "inline-confirm";
 @import "accordion";
 @import "content-search";
 @import "paginate";
-@import "export";
-@import "thresholds";
\ No newline at end of file
+@import "thresholds";
+@import "export";
\ No newline at end of file
diff --git a/app/common/styles/elements/paginate.scss b/app/common/styles/elements/paginate.scss
index 2df88cc..461b854 100644
--- a/app/common/styles/elements/paginate.scss
+++ b/app/common/styles/elements/paginate.scss
@@ -11,6 +11,7 @@
   -webkit-box-align: center;
   -ms-flex-align: center;
   align-items: center;
+  padding: 0 10px;
 }
 
 .pagination li { background-color: transparent; list-style-type: none; }
@@ -65,15 +66,15 @@
 }
 
 .pagination li:first-child a::before,
-.pagination li:last-child a::after { content: "\027A0"; }
+
 
 .pagination li:nth-of-type(2) a::before,
-.pagination li:nth-last-of-type(2) a::after { content: "\0279E"; }
+
 
 .pagination li:first-child a::before,
 .pagination li:nth-of-type(2) a::before { -webkit-transform: rotate(180deg); transform: rotate(180deg); }
 
-.pagination li.current a {
+.pagination li.current a, .pagination li.active a {
   padding-top:.25em;
   color: $white;
   background-color: $lightbg__primary;
diff --git a/app/common/styles/elements/thresholds.scss b/app/common/styles/elements/thresholds.scss
index e8192b3..06e872f 100644
--- a/app/common/styles/elements/thresholds.scss
+++ b/app/common/styles/elements/thresholds.scss
@@ -3,10 +3,9 @@
 $threshColorLighten: 5%;
 .threshold-chart__wrapper {
   position: relative;
-  padding-bottom: 2em;
   .threshold__label {
     position: absolute;
-    top: 25%;
+    top: 38%;
     transform: translateY(-50%);
     font-weight: 700;
     &.low {
@@ -24,7 +23,7 @@
 .threshold-chart {
   position: relative;
   line-height: 0;
-  padding: .8em 0 2em 3px;
+  padding: .8em 0 2em 0;
   margin: 0 2.5em;
  //margin: 0 auto;
   .threshold__marker {
@@ -46,12 +45,7 @@
       white-space: nowrap;
     }
   }
-  .threshold__marker {
-    &.thresh__low-critical .threshold__value {
-      left: 0;
-      @include slowTransition-all;
-    }
-  }
+
   .threshold {
     display: inline-block;
     background-color: $thresh-normal;
diff --git a/app/common/styles/layout/content.scss b/app/common/styles/layout/content.scss
index 18c34b9..e36fa66 100644
--- a/app/common/styles/layout/content.scss
+++ b/app/common/styles/layout/content.scss
@@ -11,6 +11,6 @@
 }
 
 section.row {
-  //padding-left: 0;
-  //padding-right: 0;
+  padding-left: 0;
+  padding-right: 0;
 }
\ No newline at end of file
diff --git a/app/configuration/controllers/date-time-controller.html b/app/configuration/controllers/date-time-controller.html
new file mode 100644
index 0000000..cd760b4
--- /dev/null
+++ b/app/configuration/controllers/date-time-controller.html
@@ -0,0 +1,5 @@
+<div id="configuration-date-time">
+    <div class="row column">
+        <h1>Date time</h1>
+    </div>
+</div>
\ No newline at end of file
diff --git a/app/configuration/controllers/date-time-controller.js b/app/configuration/controllers/date-time-controller.js
new file mode 100644
index 0000000..75662cc
--- /dev/null
+++ b/app/configuration/controllers/date-time-controller.js
@@ -0,0 +1,26 @@
+/**
+ * Controller for date-time
+ *
+ * @module app/configuration
+ * @exports dateTimeController
+ * @name dateTimeController
+ * @version 0.1.0
+ */
+
+window.angular && (function (angular) {
+    'use strict';
+
+    angular
+        .module('app.configuration')
+        .controller('dateTimeController', [
+            '$scope', 
+            '$window', 
+            'APIUtils', 
+            'dataService',
+            function($scope, $window, APIUtils, dataService){
+                $scope.dataService = dataService;
+            }
+        ]
+    );
+
+})(angular);
diff --git a/app/configuration/controllers/file-controller.html b/app/configuration/controllers/file-controller.html
new file mode 100644
index 0000000..0840b81
--- /dev/null
+++ b/app/configuration/controllers/file-controller.html
@@ -0,0 +1,5 @@
+<div id="configuration-file">
+    <div class="row column">
+        <h1>File</h1>
+    </div>
+</div>
\ No newline at end of file
diff --git a/app/configuration/controllers/file-controller.js b/app/configuration/controllers/file-controller.js
new file mode 100644
index 0000000..3870f11
--- /dev/null
+++ b/app/configuration/controllers/file-controller.js
@@ -0,0 +1,26 @@
+/**
+ * Controller for file
+ *
+ * @module app/configuration
+ * @exports fileController
+ * @name fileController
+ * @version 0.1.0
+ */
+
+window.angular && (function (angular) {
+    'use strict';
+
+    angular
+        .module('app.configuration')
+        .controller('fileController', [
+            '$scope', 
+            '$window', 
+            'APIUtils', 
+            'dataService',
+            function($scope, $window, APIUtils, dataService){
+                $scope.dataService = dataService;
+            }
+        ]
+    );
+
+})(angular);
diff --git a/app/configuration/controllers/network-controller.html b/app/configuration/controllers/network-controller.html
new file mode 100644
index 0000000..cea74d9
--- /dev/null
+++ b/app/configuration/controllers/network-controller.html
@@ -0,0 +1,5 @@
+<div id="configuration-network">
+    <div class="row column">
+        <h1>Network</h1>
+    </div>
+</div>
\ No newline at end of file
diff --git a/app/configuration/controllers/network-controller.js b/app/configuration/controllers/network-controller.js
new file mode 100644
index 0000000..31b5030
--- /dev/null
+++ b/app/configuration/controllers/network-controller.js
@@ -0,0 +1,26 @@
+/**
+ * Controller for network
+ *
+ * @module app/configuration
+ * @exports networkController
+ * @name networkController
+ * @version 0.1.0
+ */
+
+window.angular && (function (angular) {
+    'use strict';
+
+    angular
+        .module('app.configuration')
+        .controller('networkController', [
+            '$scope', 
+            '$window', 
+            'APIUtils', 
+            'dataService',
+            function($scope, $window, APIUtils, dataService){
+                $scope.dataService = dataService;
+            }
+        ]
+    );
+
+})(angular);
diff --git a/app/configuration/controllers/security-controller.html b/app/configuration/controllers/security-controller.html
new file mode 100644
index 0000000..bcbfa28
--- /dev/null
+++ b/app/configuration/controllers/security-controller.html
@@ -0,0 +1,5 @@
+<div id="configuration-security">
+    <div class="row column">
+        <h1>Security</h1>
+    </div>
+</div>
\ No newline at end of file
diff --git a/app/configuration/controllers/security-controller.js b/app/configuration/controllers/security-controller.js
new file mode 100644
index 0000000..e3a7778
--- /dev/null
+++ b/app/configuration/controllers/security-controller.js
@@ -0,0 +1,26 @@
+/**
+ * Controller for security
+ *
+ * @module app/configuration
+ * @exports securityController
+ * @name securityController
+ * @version 0.1.0
+ */
+
+window.angular && (function (angular) {
+    'use strict';
+
+    angular
+        .module('app.configuration')
+        .controller('securityController', [
+            '$scope', 
+            '$window', 
+            'APIUtils', 
+            'dataService',
+            function($scope, $window, APIUtils, dataService){
+                $scope.dataService = dataService;
+            }
+        ]
+    );
+
+})(angular);
diff --git a/app/configuration/index.js b/app/configuration/index.js
new file mode 100644
index 0000000..a68d5a0
--- /dev/null
+++ b/app/configuration/index.js
@@ -0,0 +1,46 @@
+/**
+ * A module for the configuration
+ *
+ * @module app/configuration/index
+ * @exports app/configuration/index
+ * @version 0.0.1
+ */
+
+window.angular && (function (angular) {
+    'use strict';
+
+    angular
+        .module('app.configuration', [
+            'ngRoute',
+            'app.constants',
+            'app.common.services'
+        ])
+        // Route configuration
+        .config(['$routeProvider', function ($routeProvider) {
+            $routeProvider
+                .when('/configuration/network', {
+                    'templateUrl': 'configuration/controllers/network-controller.html',
+                    'controller': 'networkController',
+                    authenticated: true
+                })
+                .when('/configuration/security', {
+                    'templateUrl': 'configuration/controllers/security-controller.html',
+                    'controller': 'securityController',
+                    authenticated: true
+                }).when('/configuration/date-time', {
+                    'templateUrl': 'configuration/controllers/date-time-controller.html',
+                    'controller': 'dateTimeController',
+                    authenticated: true
+                })
+                .when('/configuration/file', {
+                    'templateUrl': 'configuration/controllers/file-controller.html',
+                    'controller': 'fileController',
+                    authenticated: true
+                }).when('/configuration', {
+                    'templateUrl': 'configuration/controllers/network-controller.html',
+                    'controller': 'networkController',
+                    authenticated: true
+                });
+        }]);
+
+})(window.angular);
diff --git a/app/configuration/styles/date-time.scss b/app/configuration/styles/date-time.scss
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/app/configuration/styles/date-time.scss
diff --git a/app/configuration/styles/file.scss b/app/configuration/styles/file.scss
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/app/configuration/styles/file.scss
diff --git a/app/configuration/styles/index.scss b/app/configuration/styles/index.scss
new file mode 100644
index 0000000..7c8006a
--- /dev/null
+++ b/app/configuration/styles/index.scss
@@ -0,0 +1,4 @@
+@import "./network.scss";
+@import "./security.scss";
+@import "./date-time.scss";
+@import "./file.scss";
\ No newline at end of file
diff --git a/app/configuration/styles/network.scss b/app/configuration/styles/network.scss
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/app/configuration/styles/network.scss
diff --git a/app/configuration/styles/security.scss b/app/configuration/styles/security.scss
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/app/configuration/styles/security.scss
diff --git a/app/firmware/controllers/bmc-controller.html b/app/firmware/controllers/bmc-controller.html
new file mode 100644
index 0000000..61f7493
--- /dev/null
+++ b/app/firmware/controllers/bmc-controller.html
@@ -0,0 +1,5 @@
+<div id="firmware-bmc">
+    <div class="row column">
+        <h1>Firmware BMC</h1>
+    </div>
+</div>
\ No newline at end of file
diff --git a/app/firmware/controllers/bmc-controller.js b/app/firmware/controllers/bmc-controller.js
new file mode 100644
index 0000000..0b3a622
--- /dev/null
+++ b/app/firmware/controllers/bmc-controller.js
@@ -0,0 +1,26 @@
+/**
+ * Controller for bmc
+ *
+ * @module app/firmware
+ * @exports bmcController
+ * @name bmcController
+ * @version 0.1.0
+ */
+
+window.angular && (function (angular) {
+    'use strict';
+
+    angular
+        .module('app.firmware')
+        .controller('bmcController', [
+            '$scope', 
+            '$window', 
+            'APIUtils', 
+            'dataService',
+            function($scope, $window, APIUtils, dataService){
+                $scope.dataService = dataService;
+            }
+        ]
+    );
+
+})(angular);
diff --git a/app/firmware/controllers/server-controller.html b/app/firmware/controllers/server-controller.html
new file mode 100644
index 0000000..a99d17e
--- /dev/null
+++ b/app/firmware/controllers/server-controller.html
@@ -0,0 +1,5 @@
+<div id=firmware-server">
+    <div class="row column">
+        <h1>Firmware Server</h1>
+    </div>
+</div>
\ No newline at end of file
diff --git a/app/firmware/controllers/server-controller.js b/app/firmware/controllers/server-controller.js
new file mode 100644
index 0000000..daf97b4
--- /dev/null
+++ b/app/firmware/controllers/server-controller.js
@@ -0,0 +1,26 @@
+/**
+ * Controller for server
+ *
+ * @module app/firmware
+ * @exports serverController
+ * @name serverController
+ * @version 0.1.0
+ */
+
+window.angular && (function (angular) {
+    'use strict';
+
+    angular
+        .module('app.firmware')
+        .controller('serverController', [
+            '$scope', 
+            '$window', 
+            'APIUtils', 
+            'dataService',
+            function($scope, $window, APIUtils, dataService){
+                $scope.dataService = dataService;
+            }
+        ]
+    );
+
+})(angular);
diff --git a/app/firmware/index.js b/app/firmware/index.js
new file mode 100644
index 0000000..8094a40
--- /dev/null
+++ b/app/firmware/index.js
@@ -0,0 +1,38 @@
+/**
+ * A module for the firmware
+ *
+ * @module app/firmware/index
+ * @exports app/firmware/index
+ * @version 0.0.1
+ */
+
+window.angular && (function (angular) {
+    'use strict';
+
+    angular
+        .module('app.firmware', [
+            'ngRoute',
+            'app.constants',
+            'app.common.services'
+        ])
+        // Route configuration
+        .config(['$routeProvider', function ($routeProvider) {
+            $routeProvider
+                .when('/firmware/bmc', {
+                    'templateUrl': 'firmware/controllers/bmc-controller.html',
+                    'controller': 'bmcController',
+                    authenticated: true
+                })
+                .when('/firmware/server', {
+                    'templateUrl': 'firmware/controllers/server-controller.html',
+                    'controller': 'serverController',
+                    authenticated: true
+                })
+                .when('/firmware', {
+                    'templateUrl': 'firmware/controllers/bmc-controller.html',
+                    'controller': 'bmcController',
+                    authenticated: true
+                });
+        }]);
+
+})(window.angular);
diff --git a/app/firmware/styles/bmc.scss b/app/firmware/styles/bmc.scss
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/app/firmware/styles/bmc.scss
diff --git a/app/firmware/styles/index.scss b/app/firmware/styles/index.scss
new file mode 100644
index 0000000..9595341
--- /dev/null
+++ b/app/firmware/styles/index.scss
@@ -0,0 +1,2 @@
+@import "./bmc.scss";
+@import "./server.scss";
\ No newline at end of file
diff --git a/app/firmware/styles/server.scss b/app/firmware/styles/server.scss
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/app/firmware/styles/server.scss
diff --git a/app/index.html b/app/index.html
index 0ed4d3a..f2065a6 100644
--- a/app/index.html
+++ b/app/index.html
@@ -21,6 +21,8 @@
 	<!-- build:js scripts/vendor.min.js -->
 	<script src="../bower_components/angular/angular.min.js"></script>
 	<script src="../bower_components/angular-route/angular-route.min.js"></script>
+	<script src="../bower_components/angular-clipboard/angular-clipboard.min.js"></script>
+    <script src="../bower_components/angularUtils-pagination/dirPagination.min.js"></script>
 	<!-- endbuild -->
 
 	<!-- build:js scripts/app.min.js -->
@@ -44,19 +46,35 @@
 	<script src="common/directives/app-header.js"></script>
 	<script src="common/directives/app-navigation.js"></script>
 	<script src="common/directives/confirm.js"></script>
+    <script src="common/directives/toggle-flag.js"></script>
 
-	<script src="login/index.js"></script>
-	<script src="login/controllers/login-controller.js"></script>
-	<script src="overview/index.js"></script>
-	<script src="overview/controllers/bmc-reboot-controller.js"></script>
-	<script src="overview/controllers/power-operations-controller.js"></script>
-	<script src="overview/controllers/system-overview-controller.js"></script>
-	<script src="overview/controllers/unit-id-controller.js"></script>
-	<script src="overview/controllers/log-controller.js"></script>
-	<script src="overview/controllers/sensors-controller.js"></script>
-	<script src="overview/controllers/sensors-overview-controller.js"></script>
-	<script src="overview/controllers/inventory-controller.js"></script>
-	<script src="overview/controllers/inventory-overview-controller.js"></script>
+    <script src="login/index.js"></script>
+    <script src="login/controllers/login-controller.js"></script>
+    <script src="overview/index.js"></script>
+    <script src="overview/controllers/system-overview-controller.js"></script>
+    <script src="server-control/index.js"></script>
+    <script src="server-control/controllers/bmc-reboot-controller.js"></script>
+    <script src="server-control/controllers/power-operations-controller.js"></script>
+    <script src="server-control/controllers/remote-console-controller.js"></script>
+    <script src="server-health/index.js"></script>
+    <script src="server-health/controllers/diagnostics-controller.js"></script>
+    <script src="server-health/controllers/inventory-controller.js"></script>
+    <script src="server-health/controllers/inventory-overview-controller.js"></script>
+    <script src="server-health/controllers/log-controller.js"></script>
+    <script src="server-health/controllers/power-consumption-controller.js"></script>
+    <script src="server-health/controllers/sensors-controller.js"></script>
+    <script src="server-health/controllers/sensors-overview-controller.js"></script>
+    <script src="server-health/controllers/unit-id-controller.js"></script>
+    <script src="configuration/index.js"></script>
+    <script src="configuration/controllers/date-time-controller.js"></script>
+    <script src="configuration/controllers/file-controller.js"></script>
+    <script src="configuration/controllers/network-controller.js"></script>
+    <script src="configuration/controllers/security-controller.js"></script>
+    <script src="firmware/index.js"></script>
+    <script src="firmware/controllers/bmc-controller.js"></script>
+    <script src="firmware/controllers/server-controller.js"></script>
+    <script src="users/index.js"></script>
+    <script src="users/controllers/user-accounts-controller.js"></script>
 	<!-- endbuild -->
 </body>
 
diff --git a/app/index.js b/app/index.js
index f799e29..11c3576 100644
--- a/app/index.js
+++ b/app/index.js
@@ -16,6 +16,8 @@
         .module('app', [
             // Dependencies
             'ngRoute',
+            'angular-clipboard',
+            'angularUtils.directives.dirPagination',
             // Basic resources
             'app.constants',
             'app.templates',
@@ -25,7 +27,12 @@
             'app.common.filters',
             // Model resources
             'app.login',
-            'app.overview'
+            'app.overview',
+            'app.serverControl',
+            'app.serverHealth',
+            'app.configuration',
+            'app.firmware',
+            'app.users'
         ])
         // Route configuration
         .config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) {
@@ -35,6 +42,9 @@
                     'redirectTo': '/login'
                 });
         }])
+        .config(['$compileProvider', function ($compileProvider) {
+          $compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|tel|file|data|blob):/);
+        }])
         .config(['$httpProvider', function($httpProvider){
             $httpProvider.defaults.timeout = 10000;
             $httpProvider.interceptors.push('apiInterceptor');
diff --git a/app/login/controllers/login-controller.html b/app/login/controllers/login-controller.html
index a249726..0fcbc97 100644
--- a/app/login/controllers/login-controller.html
+++ b/app/login/controllers/login-controller.html
@@ -29,7 +29,7 @@
                 <input id="login__submit" class="btn-primary submit" type="button" value="Log in" role="button" ng-click="login(username, password)" ng-class="{error: error}" ng-disabled="dataService.loading">
 
                 <p class="login__error-msg" role="alert" ng-if="error">Incorrect username or password</p>
-                <p class="login__error-msg" role="alert" ng-if="dataService.server_unreachable">Server Unreachable</p>
+                <p class="login__error-msg" role="alert" ng-if="server_unreachable">Server Unreachable</p>
             </form>
         </div>
     </div>
diff --git a/app/login/controllers/login-controller.js b/app/login/controllers/login-controller.js
index 900063a..f4ca375 100644
--- a/app/login/controllers/login-controller.js
+++ b/app/login/controllers/login-controller.js
@@ -25,7 +25,7 @@
                 if($routeParams.fake_login &&
                    $routeParams.fake_login === 'fake_login'){
                     userModel.fakeLogin();
-                    $window.location.hash = '#/system-overview';
+                    $window.location.hash = '#/overview/system';
                 }
 
                 $scope.tryLogin = function(username, password, event){
@@ -35,6 +35,7 @@
                 }; 
                 $scope.login = function(username, password){
                     $scope.error = false;
+                    $scope.server_unreachable = false;
 
                     if(!username || username == "" ||
                        !password || password == ""){
@@ -43,11 +44,13 @@
                         userModel.login(username, password, function(status, unreachable){
                             if(status){
                                 $scope.$emit('user-logged-in',{});
-                                $window.location.hash = '#/system-overview';
+                                $window.location.hash = '#/overview/system';
                             }else{
-                                if(!unreachable){
-                                   $scope.error = true;
-                               }
+                                if(unreachable){
+                                   $scope.server_unreachable = true;
+                                }else{
+                                    $scope.error = true;
+                                }
                            };
                         });
                     }
diff --git a/app/overview/controllers/inventory-controller.html b/app/overview/controllers/inventory-controller.html
deleted file mode 100644
index 7da39f9..0000000
--- a/app/overview/controllers/inventory-controller.html
+++ /dev/null
@@ -1,485 +0,0 @@
-<div id="inventory">
-    <div class="row column">
-        <h1>CPU cores inventory</h1>
-    </div>
-    <section class="row column">
-        <div class="page-header">
-            <h2 class="inline h4">CPU cores present in the system</h2>
-            <button class="inline btn-export float-right">Export</button>
-        </div>
-    </section>
-    <!-- Filters -->
-    <section class="row column">
-        <!-- search -->
-        <div class="content__search">
-            <label for="content__search-input">Search</label>
-            <input id="content__search-input" type="text" placeholder="Filter hardware components"/>
-            <input id="content__search-submit" type="submit" class="btn btn-secondary" value="Submit"/>
-        </div>
-        <div class="toggle-filter">
-            <button class="inline first" ng-click="toggleall = !toggleall"
-                    ng-class="toggleall ? 'btn-primary' : 'btn-secondary'">All
-            </button>
-            <button class="inline " ng-click="togglehigh = !togglehigh"
-                    ng-class="togglehigh ? 'btn-primary' : 'btn-secondary'">High
-            </button>
-            <button class="inline" ng-click="togglemed = !togglemed"
-                    ng-class="togglemed ? 'btn-primary' : 'btn-secondary'">Medium
-            </button>
-            <button class="inline last" ng-click="togglelow = !togglelow"
-                    ng-class="togglelow ? 'btn-primary' : 'btn-secondary'">Low
-            </button>
-        </div>
-    </section> <!-- end filter -->
-    <section class="row column">
-        <div id="back-link">
-            <a href="#/overview/inventory-overview">Back to Inventory overview</a>
-        </div>
-    </section>
-    <section id="inventory__details" class="row">
-        <div class="row column header-row header__actions-bar">
-            <div class="column small-12 large-3  ">
-                <p class="inline inventory__heading inventory__device-col"><span
-                        class="inline priority-tag-circ high-priority" aria-label="High Priority"></span>CPU cores (6)
-                </p>
-            </div>
-            <div class="column hide-for-medium-only large-3  ">
-                <p class="inline inventory__heading inventory__function-col inv-active">Active</p>
-            </div>
-            <div class="column hide-for-medium-only large-3  ">
-                <p class="inline inventory__heading inventory__present-col inv-present">Present</p>
-            </div>
-            <div class="column hide-for-medium-only large-2  ">
-                <p class="inline inventory__heading inventory__state-col inventory__critical-label" aria-label="High - Emergency">High - Emergency</p>
-            </div>
-            <div class="column small-4 large-1 "></div>
-        </div>
-
-        <!-- Inventory Item -->
-        <div class="row column accord-row"
-                ng-class="{'active': inventory__metadatarow, 'selected': inventory__selected}">
-            <div class="row column" ng-click="inventory__metadatarow = ! inventory__metadatarow">
-                <div class="column small-12 large-3 inventory__info">
-                    <p class="priority-tag-circ high-priority" aria-label="High Priority"></p>
-                    <p class="inventory__title">CPU core 5</p>
-                </div>
-                <div class="column small-12 large-3">
-                    <p class="content-label">Part Number</p>
-                    <p class="courier-bold">1230123ab</p>
-                </div>
-                <div class="column small-12 large-3">
-                    <p class="content-label">Serial Number</p>
-                    <p class="courier-bold">1230123ab</p>
-                </div>
-                <div class="column small-12 small-4 large-2">
-                    <p class="content-label">Model Number</p>
-                    <p class="courier-bold">86399-2201</p>
-                </div>
-                <button class="accord-trigger" ng-class="{'active': inventory__metadatarow}"></button>
-            </div>
-            <div class="row column inventory__metadata-row" ng-class="{'active': inventory__metadatarow}">
-                <div class="row column">
-                    <div class="column large-3 hide-for-medium-only">
-                        &nbsp;
-                    </div>
-                    <div class="column large-3 small-12">
-                        <p class="content-label">Manufacturer</p>
-                        <p class="courier-bold">IBM</p>
-                    </div>
-                    <div class="column large-3 small-12">
-                        <p class="content-label">CCIN</p>
-                        <p class="courier-bold">2BE3</p>
-                    </div>
-                    <div class="column small-12 large-2">
-                        <p class="content-label">Version</p>
-                        <p class="courier-bold">EE86399-2201</p>
-                    </div>
-                    <div class="column large-1 hide-for-medium-only">&nbsp;</div>
-                </div>
-                <div class="row column">
-                    <div class="column small-12 large-3 hide-for-medium-only">
-                        &nbsp;
-                    </div>
-                    <div class="column small-12 large-3">
-                        <p class="content-label">Field Replacable</p>
-                        <p class="courier-bold">Not Replaceable</p>
-                    </div>
-                    <div class="column small-12 large-3">
-                        <p class="content-label">Build Date</p>
-                        <p class="courier-bold">04/01/2004</p>
-                    </div>
-                    <div class="column small-12 large-2">
-                        <p class="content-label">Cooling Type</p>
-                        <p class="courier-bold">Air cooled</p>
-                    </div>
-                    <div class="column large-1 hide-for-medium-only">&nbsp;</div>
-                </div>
-                <div class="row inv-event-log-row">
-                    <p class="column small-12 large-3 inventory__critical-label" aria-label="High - Emergency">High - Emergency</p>
-                    <p class="column small-12 large-7 ">
-                        org.open_power.Error.Host.Event.Event.Cras.amet...
-                    </p>
-                    <p class="column small-12 large-2">
-                        <a href="#/overviewlog"> View event log</a>
-                    </p>
-                </div>
-            </div>
-        </div>
-
-        <!-- Inventory Item -->
-        <div class="row column accord-row"
-             ng-class="{'active': inventory__metadatarow2, 'selected': inventory__selected}">
-            <div class="row column" ng-click="inventory__metadatarow2 = ! inventory__metadatarow2">
-                <div class="column small-12 large-3 inventory__info">
-                    <p class="priority-tag-circ high-priority" aria-label="High Priority"></p>
-                    <p class="inventory__title">CPU core 6</p>
-                </div>
-                <div class="column small-12 large-3">
-                    <p class="content-label">Part Number</p>
-                    <p class="courier-bold">12355123ab</p>
-                </div>
-                <div class="column small-12 large-3">
-                    <p class="content-label">Serial Number</p>
-                    <p class="courier-bold">123014423ab</p>
-                </div>
-                <div class="column small-12 small-4 large-2">
-                    <p class="content-label">Model Number</p>
-                    <p class="courier-bold">86399-32201</p>
-                </div>
-                <button class="accord-trigger" ng-class="{'active': inventory__metadatarow2}"></button>
-            </div>
-            <div class="row column inventory__metadata-row" ng-class="{'active': inventory__metadatarow2}">
-                <div class="row column">
-                    <div class="column large-3 hide-for-medium-only">
-                        &nbsp;
-                    </div>
-                    <div class="column large-3 small-12">
-                        <p class="content-label">Manufacturer</p>
-                        <p class="courier-bold">IBM</p>
-                    </div>
-                    <div class="column large-3 small-12">
-                        <p class="content-label">CCIN</p>
-                        <p class="courier-bold">2BE3</p>
-                    </div>
-                    <div class="column small-12 large-2">
-                        <p class="content-label">Version</p>
-                        <p class="courier-bold">EE86399-2201</p>
-                    </div>
-                    <div class="column large-1 hide-for-medium-only">&nbsp;</div>
-                </div>
-                <div class="row column">
-                    <div class="column small-12 large-3 hide-for-medium-only">
-                        &nbsp;
-                    </div>
-                    <div class="column small-12 large-3">
-                        <p class="content-label">Field Replacable</p>
-                        <p class="courier-bold">Not Replaceable</p>
-                    </div>
-                    <div class="column small-12 large-3">
-                        <p class="content-label">Build Date</p>
-                        <p class="courier-bold">04/01/2004</p>
-                    </div>
-                    <div class="column small-12 large-2">
-                        <p class="content-label">Cooling Type</p>
-                        <p class="courier-bold">Air cooled</p>
-                    </div>
-                    <div class="column large-1 hide-for-medium-only">&nbsp;</div>
-                </div>
-                <div class="row inv-event-log-row">
-                    <p class="column small-12 large-3 inventory__critical-label" aria-label="Normal">High - emergency</p>
-                    <p class="column small-12 large-7 ">
-                        org.open_power.Error.Host.Event.Event.Cras.amet...
-                    </p>
-                    <p class="column small-12 large-2">
-                        <a href="#/overviewlog"> View event log</a>
-                    </p>
-                </div>
-            </div>
-        </div>
-
-	    <!-- Inventory Item -->
-	    <div class="row column accord-row"
-	         ng-class="{'active': inventory__metadatarow5, 'selected': inventory__selected}">
-		    <div class="row column" ng-click="inventory__metadatarow5 = ! inventory__metadatarow5">
-			    <div class="column small-12 large-3 inventory__info">
-				    <p class="priority-tag-circ warn-priority" aria-label="Warning Priority"></p>
-				    <p class="inventory__title">CPU core 4</p>
-			    </div>
-			    <div class="column small-12 large-3">
-				    <p class="content-label">Part Number</p>
-				    <p class="courier-bold">14530123ab</p>
-			    </div>
-			    <div class="column small-12 large-3">
-				    <p class="content-label">Serial Number</p>
-				    <p class="courier-bold">12350123ab</p>
-			    </div>
-			    <div class="column small-12 small-4 large-2">
-				    <p class="content-label">Model Number</p>
-				    <p class="courier-bold">86399-2201</p>
-			    </div>
-			    <button class="accord-trigger" ng-class="{'active': inventory__metadatarow5}"></button>
-		    </div>
-		    <div class="row column inventory__metadata-row" ng-class="{'active': inventory__metadatarow5}">
-			    <div class="row column">
-				    <div class="column large-3 hide-for-medium-only">
-					    &nbsp;
-				    </div>
-				    <div class="column large-3 small-12">
-					    <p class="content-label">Manufacturer</p>
-					    <p class="courier-bold">IBM</p>
-				    </div>
-				    <div class="column large-3 small-12">
-					    <p class="content-label">CCIN</p>
-					    <p class="courier-bold">2BE3</p>
-				    </div>
-				    <div class="column small-12 large-2">
-					    <p class="content-label">Version</p>
-					    <p class="courier-bold">EE86399-2201</p>
-				    </div>
-				    <div class="column large-1 hide-for-medium-only">&nbsp;</div>
-			    </div>
-			    <div class="row column">
-				    <div class="column small-12 large-3 hide-for-medium-only">
-					    &nbsp;
-				    </div>
-				    <div class="column small-12 large-3">
-					    <p class="content-label">Field Replacable</p>
-					    <p class="courier-bold">Not Replaceable</p>
-				    </div>
-				    <div class="column small-12 large-3">
-					    <p class="content-label">Build Date</p>
-					    <p class="courier-bold">04/01/2004</p>
-				    </div>
-				    <div class="column small-12 large-2">
-					    <p class="content-label">Cooling Type</p>
-					    <p class="courier-bold">Air cooled</p>
-				    </div>
-				    <div class="column large-1 hide-for-medium-only">&nbsp;</div>
-			    </div>
-			    <div class="row inv-event-log-row">
-				    <p class="column small-12 large-3 inventory__warning-label" aria-label="Warning Priority">Medium - Warning</p>
-				    <p class="column small-12 large-7 ">
-					    org.open_power.Error.Host.Event.Event.Cras.amet...
-				    </p>
-				    <p class="column small-12 large-2">
-					    <a href="#/overviewlog"> View event log</a>
-				    </p>
-			    </div>
-		    </div>
-	    </div>
-	    
-        <!-- Inventory Item -->
-        <div class="row column accord-row"
-             ng-class="{'active': inventory__metadatarow3, 'selected': inventory__selected}">
-            <div class="row column" ng-click="inventory__metadatarow3 = ! inventory__metadatarow3">
-                <div class="column small-12 large-3 inventory__info">
-                    <p class="priority-tag-circ normal-priority" aria-label="Normal Priority"></p>
-                    <p class="inventory__title">CPU core 1</p>
-                </div>
-                <div class="column small-12 large-3">
-                    <p class="content-label">Part Number</p>
-                    <p class="courier-bold">123024123ab</p>
-                </div>
-                <div class="column small-12 large-3">
-                    <p class="content-label">Serial Number</p>
-                    <p class="courier-bold">123043123ab</p>
-                </div>
-                <div class="column small-12 small-4 large-2">
-                    <p class="content-label">Model Number</p>
-                    <p class="courier-bold">86399-2201</p>
-                </div>
-                <button class="accord-trigger" ng-class="{'active': inventory__metadatarow3}"></button>
-            </div>
-            <div class="row column inventory__metadata-row" ng-class="{'active': inventory__metadatarow3}">
-                <div class="row column">
-                    <div class="column large-3 hide-for-medium-only">
-                        &nbsp;
-                    </div>
-                    <div class="column large-3 small-12">
-                        <p class="content-label">Manufacturer</p>
-                        <p class="courier-bold">IBM</p>
-                    </div>
-                    <div class="column large-3 small-12">
-                        <p class="content-label">CCIN</p>
-                        <p class="courier-bold">2BE3</p>
-                    </div>
-                    <div class="column small-12 large-2">
-                        <p class="content-label">Version</p>
-                        <p class="courier-bold">EE86399-2201</p>
-                    </div>
-                    <div class="column large-1 hide-for-medium-only">&nbsp;</div>
-                </div>
-                <div class="row column">
-                    <div class="column small-12 large-3 hide-for-medium-only">
-                        &nbsp;
-                    </div>
-                    <div class="column small-12 large-3">
-                        <p class="content-label">Field Replacable</p>
-                        <p class="courier-bold">Not Replaceable</p>
-                    </div>
-                    <div class="column small-12 large-3">
-                        <p class="content-label">Build Date</p>
-                        <p class="courier-bold">04/01/2004</p>
-                    </div>
-                    <div class="column small-12 large-2">
-                        <p class="content-label">Cooling Type</p>
-                        <p class="courier-bold">Air cooled</p>
-                    </div>
-                    <div class="column large-1 hide-for-medium-only">&nbsp;</div>
-                </div>
-                <div class="row inv-event-log-row">
-                    <p class="column small-12 large-3 inventory__low-label" aria-label="Low Priority">Low - informational</p>
-                    <p class="column small-12 large-7 ">
-                        org.open_power.Error.Host.Event.Event.Cras.amet...
-                    </p>
-                    <p class="column small-12 large-2">
-                        <a href="#/overviewlog"> View event log</a>
-                    </p>
-                </div>
-            </div>
-        </div>
-
-	    <!-- Inventory Item -->
-	    <div class="row column accord-row"
-	         ng-class="{'active': inventory__metadatarow4, 'selected': inventory__selected}">
-		    <div class="row column" ng-click="inventory__metadatarow4 = ! inventory__metadatarow4">
-			    <div class="column small-12 large-3 inventory__info">
-				    <p class="priority-tag-circ normal-priority" aria-label="Normal Priority"></p>
-				    <p class="inventory__title">CPU core 2</p>
-			    </div>
-			    <div class="column small-12 large-3">
-				    <p class="content-label">Part Number</p>
-				    <p class="courier-bold">123012443ab</p>
-			    </div>
-			    <div class="column small-12 large-3">
-				    <p class="content-label">Serial Number</p>
-				    <p class="courier-bold">1230333123ab</p>
-			    </div>
-			    <div class="column small-12 small-4 large-2">
-				    <p class="content-label">Model Number</p>
-				    <p class="courier-bold">86399-2201</p>
-			    </div>
-			    <button class="accord-trigger" ng-class="{'active': inventory__metadatarow4}"></button>
-		    </div>
-		    <div class="row column inventory__metadata-row" ng-class="{'active': inventory__metadatarow4}">
-			    <div class="row column">
-				    <div class="column large-3 hide-for-medium-only">
-					    &nbsp;
-				    </div>
-				    <div class="column large-3 small-12">
-					    <p class="content-label">Manufacturer</p>
-					    <p class="courier-bold">IBM</p>
-				    </div>
-				    <div class="column large-3 small-12">
-					    <p class="content-label">CCIN</p>
-					    <p class="courier-bold">2BE3</p>
-				    </div>
-				    <div class="column small-12 large-2">
-					    <p class="content-label">Version</p>
-					    <p class="courier-bold">EE86399-2201</p>
-				    </div>
-				    <div class="column large-1 hide-for-medium-only">&nbsp;</div>
-			    </div>
-			    <div class="row column">
-				    <div class="column small-12 large-3 hide-for-medium-only">
-					    &nbsp;
-				    </div>
-				    <div class="column small-12 large-3">
-					    <p class="content-label">Field Replacable</p>
-					    <p class="courier-bold">Not Replaceable</p>
-				    </div>
-				    <div class="column small-12 large-3">
-					    <p class="content-label">Build Date</p>
-					    <p class="courier-bold">04/01/2004</p>
-				    </div>
-				    <div class="column small-12 large-2">
-					    <p class="content-label">Cooling Type</p>
-					    <p class="courier-bold">Air cooled</p>
-				    </div>
-				    <div class="column large-1 hide-for-medium-only">&nbsp;</div>
-			    </div>
-			    <div class="row inv-event-log-row">
-				    <p class="column small-12 large-3 inventory__low-label" aria-label="Low Priority">Low - informational</p>
-				    <p class="column small-12 large-7 ">
-					    org.open_power.Error.Host.Event.Event.Cras.amet...
-				    </p>
-				    <p class="column small-12 large-2">
-					    <a href="#/overviewlog"> View event log</a>
-				    </p>
-			    </div>
-		    </div>
-	    </div>
-
-	    <!-- Inventory Item -->
-	    <div class="row column accord-row"
-	         ng-class="{'active': inventory__metadatarow5, 'selected': inventory__selected}">
-		    <div class="row column" ng-click="inventory__metadatarow5 = ! inventory__metadatarow5">
-			    <div class="column small-12 large-3 inventory__info">
-				    <p class="priority-tag-circ normal-priority" aria-label="Normal Priority"></p>
-				    <p class="inventory__title">CPU core 3</p>
-			    </div>
-			    <div class="column small-12 large-3">
-				    <p class="content-label">Part Number</p>
-				    <p class="courier-bold">14530123ab</p>
-			    </div>
-			    <div class="column small-12 large-3">
-				    <p class="content-label">Serial Number</p>
-				    <p class="courier-bold">12350123ab</p>
-			    </div>
-			    <div class="column small-12 small-4 large-2">
-				    <p class="content-label">Model Number</p>
-				    <p class="courier-bold">86399-2201</p>
-			    </div>
-			    <button class="accord-trigger" ng-class="{'active': inventory__metadatarow5}"></button>
-		    </div>
-		    <div class="row column inventory__metadata-row" ng-class="{'active': inventory__metadatarow5}">
-			    <div class="row column">
-				    <div class="column large-3 hide-for-medium-only">
-					    &nbsp;
-				    </div>
-				    <div class="column large-3 small-12">
-					    <p class="content-label">Manufacturer</p>
-					    <p class="courier-bold">IBM</p>
-				    </div>
-				    <div class="column large-3 small-12">
-					    <p class="content-label">CCIN</p>
-					    <p class="courier-bold">2BE3</p>
-				    </div>
-				    <div class="column small-12 large-2">
-					    <p class="content-label">Version</p>
-					    <p class="courier-bold">EE86399-2201</p>
-				    </div>
-				    <div class="column large-1 hide-for-medium-only">&nbsp;</div>
-			    </div>
-			    <div class="row column">
-				    <div class="column small-12 large-3 hide-for-medium-only">
-					    &nbsp;
-				    </div>
-				    <div class="column small-12 large-3">
-					    <p class="content-label">Field Replacable</p>
-					    <p class="courier-bold">Not Replaceable</p>
-				    </div>
-				    <div class="column small-12 large-3">
-					    <p class="content-label">Build Date</p>
-					    <p class="courier-bold">04/01/2004</p>
-				    </div>
-				    <div class="column small-12 large-2">
-					    <p class="content-label">Cooling Type</p>
-					    <p class="courier-bold">Air cooled</p>
-				    </div>
-				    <div class="column large-1 hide-for-medium-only">&nbsp;</div>
-			    </div>
-			    <div class="row inv-event-log-row">
-				    <p class="column small-12 large-3 inventory__low-label" aria-label="Low Priority">Low - informational</p>
-				    <p class="column small-12 large-7 ">
-					    org.open_power.Error.Host.Event.Event.Cras.amet...
-				    </p>
-				    <p class="column small-12 large-2">
-					    <a href="#/overviewlog"> View event log</a>
-				    </p>
-			    </div>
-		    </div>
-	    </div>
-    </section>
-    <paginate ng-include="paginate"></paginate>
-</div> <!-- end event log -->
\ No newline at end of file
diff --git a/app/overview/controllers/inventory-overview-controller.html b/app/overview/controllers/inventory-overview-controller.html
deleted file mode 100644
index a81305f..0000000
--- a/app/overview/controllers/inventory-overview-controller.html
+++ /dev/null
@@ -1,102 +0,0 @@
-<div id="inventory-overview">
-    <div class="row column">
-        <h1>Hardware Inventory</h1>
-    </div>
-    <section class="row column">
-        <div class="page-header">
-            <h2 class="inline h4">Inventory items present in the system</h2>
-            <button class="inline btn-export float-right">Export</button>
-        </div>
-    </section>
-    <section class="row column">
-        <!-- search -->
-        <div class="content__search">
-            <label for="content__search-input">Search</label> <input id="content__search-input" type="text"
-                                                                     placeholder="Filter hardware components"/> <input
-                id="content__search-submit" type="submit" class="btn btn-secondary"
-                value="Submit"/>
-        </div>
-        <div class="toggle-filter">
-            <button class="inline first" ng-click="toggleall = !toggleall"
-                    ng-class="toggleall ? 'btn-primary' : 'btn-secondary'">All
-            </button>
-            <button class="inline " ng-click="togglehigh = !togglehigh"
-                    ng-class="togglehigh ? 'btn-primary' : 'btn-secondary'">High
-            </button>
-            <button class="inline" ng-click="togglemed = !togglemed"
-                    ng-class="togglemed ? 'btn-primary' : 'btn-secondary'">Medium
-            </button>
-            <button class="inline last" ng-click="togglelow = !togglelow"
-                    ng-class="togglelow ? 'btn-primary' : 'btn-secondary'">Low
-            </button>
-        </div>
-    </section>
-    <!-- end search -->
-    <section id="inventory-categories" class="row column">
-        <div class="row column header-row">
-            <div class="column large-12 header__actions-bar">
-                <p class="inline inventory__heading inventory__device-col">Hardware</p>
-                <p class="inline inventory__heading inventory__function-col">Function</p>
-                <p class="inline inventory__heading inventory__present-col">Present</p>
-                <p class="inline inventory__heading inventory__state-col">State</p>
-            </div>
-        </div>
-        <a class="inventory__group" href="">
-            <p class="inline inventory__device-col">All devices (30)</p>
-        </a>
-        <a class="inventory__group" href="">
-            <p class="inline inventory__device-col"><span class="inline priority-tag-circ normal-priority" aria-label="Normal Priority"></span>Motherboard (1)</p>
-            <p class="inline inventory__function-col inv-active">Active</p>
-            <p class="inline inventory__present-col inv-present">Present</p>
-            <p class="inline inventory__state-col">&nbsp;</p>
-        </a>
-        <a class="inventory__group" href="">
-            <p class="inline inventory__device-col"><span class="inline priority-tag-circ normal-priority" aria-label="Normal Priority"></span>CPU (1)</p>
-            <p class="inline inventory__function-col inv-active">Active</p>
-            <p class="inline inventory__present-col inv-present">Present</p>
-            <p class="inline inventory__state-col">&nbsp;</p>
-        </a>
-        <a class="inventory__group" href="#/overview/inventory">
-            <p class="inline inventory__device-col"><span class="inline priority-tag-circ high-priority" aria-label="High Priority"></span>CPU cores (6)</p>
-            <p class="inline inventory__function-col inv-active">Active</p>
-            <p class="inline inventory__present-col inv-present">Present</p>
-            <p class="inline inventory__state-col inventory__critical-label">High - Emergency</p>
-        </a>
-        <a class="inventory__group" href="">
-            <p class="inline inventory__device-col"><span class="inline priority-tag-circ normal-priority" aria-label="Normal Priority"></span>DIMM (4)</p>
-            <p class="inline inventory__function-col inv-active">Active</p>
-            <p class="inline inventory__present-col inv-present">Present</p>
-            <p class="inline inventory__state-col">&nbsp;</p>
-        </a>
-        <a class="inventory__group" href="">
-            <p class="inline inventory__device-col"><span class="inline priority-tag-circ warn-priority" aria-label="Warning Priority"></span>Fan (5)</p>
-            <p class="inline inventory__function-col inv-active">Active</p>
-            <p class="inline inventory__present-col inv-present">Present</p>
-            <p class="inline inventory__state-col inventory__warning-label">Medium - Warning</p>
-        </a>
-        <a class="inventory__group" href="">
-            <p class="inline inventory__device-col"><span class="inline priority-tag-circ normal-priority"></span>Chasis (3)</p>
-            <p class="inline inventory__function-col inv-active">Active</p>
-            <p class="inline inventory__present-col inv-present">Present</p>
-            <p class="inline inventory__state-col">&nbsp;</p>
-        </a>
-        <a class="inventory__group" href="">
-            <p class="inline inventory__device-col"><span class="inline priority-tag-circ normal-priority" aria-label="Normal Priority"></span>BMC (5)</p>
-            <p class="inline inventory__function-col inv-active">Active</p>
-            <p class="inline inventory__present-col inv-present">Present</p>
-            <p class="inline inventory__state-col">&nbsp;</p>
-        </a>
-        <a class="inventory__group" href="">
-            <p class="inline inventory__device-col"><span class="inline priority-tag-circ medium-priority " aria-label="MediumPriority"></span>MISC (5)</p>
-            <p class="inline inventory__function-col inv-inactive">Inactive</p>
-            <p class="inline inventory__present-col inv-present">Present</p>
-            <p class="inline inventory__state-col inventory__medium-label">Medium - Error</p>
-        </a>
-        <a class="inventory__group inv-disabled" href="">
-            <p class="inline inventory__device-col"><span class="inline priority-tag-circ disabled" aria-label="Low Priority"></span>PCIE card (0)</p>
-            <p class="inline inventory__function-col inv-inactive">Inactive</p>
-            <p class="inline inventory__present-col inv-not-present">Not Present</p>
-            <p class="inline inventory__state-col inventory__low-label">Low - Informational</p>
-        </a>
-    </section>
-</div>
\ No newline at end of file
diff --git a/app/overview/controllers/sensors-overview-controller.js b/app/overview/controllers/sensors-overview-controller.js
deleted file mode 100644
index e3cfe6f..0000000
--- a/app/overview/controllers/sensors-overview-controller.js
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * Controller for log
- *
- * @module app/overview
- * @exports logController
- * @name logController
- * @version 0.1.0
- */
-
-window.angular && (function (angular) {
-    'use strict';
-
-    angular
-        .module('app.overview')
-        .controller('sensorsOverviewController', [
-            '$scope', 
-            '$window', 
-            'APIUtils', 
-            'dataService',
-            function($scope, $window, APIUtils, dataService, userModel){
-                $scope.dataService = dataService;
-            }
-        ]
-    );
-
-})(angular);
diff --git a/app/overview/controllers/system-overview-controller.js b/app/overview/controllers/system-overview-controller.js
index e3841cb..4992b1e 100644
--- a/app/overview/controllers/system-overview-controller.js
+++ b/app/overview/controllers/system-overview-controller.js
@@ -1,5 +1,5 @@
 /**
- * Controller for system overview
+ * Controller for systemOverview
  *
  * @module app/overview
  * @exports systemOverviewController
@@ -19,8 +19,10 @@
             'dataService',
             function($scope, $window, APIUtils, dataService, userModel){
                 $scope.dataService = dataService;
+
+                $scope.dropdown_selected = false;
             }
         ]
     );
 
-})(angular);
+})(angular);
\ No newline at end of file
diff --git a/app/overview/controllers/unit-id-controller.js b/app/overview/controllers/unit-id-controller.js
deleted file mode 100644
index c59f411..0000000
--- a/app/overview/controllers/unit-id-controller.js
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * Controller for unit Id
- *
- * @module app/overview
- * @exports unitIdController
- * @name unitIdController
- * @version 0.1.0
- */
-
-window.angular && (function (angular) {
-    'use strict';
-
-    angular
-        .module('app.overview')
-        .controller('unitIdController', [
-            '$scope', 
-            '$window', 
-            'APIUtils', 
-            'dataService',
-            function($scope, $window, APIUtils, dataService, userModel){
-                $scope.dataService = dataService;
-            }
-        ]
-    );
-
-})(angular);
diff --git a/app/overview/index.js b/app/overview/index.js
index a31d86b..53c2c53 100644
--- a/app/overview/index.js
+++ b/app/overview/index.js
@@ -18,50 +18,15 @@
         // Route configuration
         .config(['$routeProvider', function ($routeProvider) {
             $routeProvider
-                .when('/overview/inventory-overview', {
-                    'templateUrl': 'overview/controllers/inventory-overview-controller.html',
-                    'controller': 'inventoryOverviewController',
-                    authenticated: true
-                })
-                .when('/overview/inventory', {
-                    'templateUrl': 'overview/controllers/inventory-controller.html',
-                    'controller': 'inventoryController',
-                    authenticated: true
-                })
-                .when('/overview/sensors-overview', {
-                    'templateUrl': 'overview/controllers/sensors-overview-controller.html',
-                    'controller': 'sensorsOverviewController',
-                    authenticated: true
-                })
-                .when('/overview/sensors', {
-                    'templateUrl': 'overview/controllers/sensors-controller.html',
-                    'controller': 'sensorsController',
-                    authenticated: true
-                })
-                .when('/overview/bmc-reboot', {
-                    'templateUrl': 'overview/controllers/bmc-reboot-controller.html',
-                    'controller': 'bmcRebootController',
-                    authenticated: true
-                })
-                .when('/overview/log', {
-                    'templateUrl': 'overview/controllers/log-controller.html',
-                    'controller': 'logController',
-                    authenticated: true
-                })
-                .when('/overview/power-operations', {
-                    'templateUrl': 'overview/controllers/power-operations-controller.html',
-                    'controller': 'powerOperationsController',
-                    authenticated: true
-                })
-                .when('/overview/unit-id', {
-                    'templateUrl': 'overview/controllers/unit-id-controller.html',
-                    'controller': 'unitIdController',
-                    authenticated: true
-                })
                 .when('/overview/system', {
                     'templateUrl': 'overview/controllers/system-overview-controller.html',
                     'controller': 'systemOverviewController',
                     authenticated: true
+                })
+                .when('/overview', {
+                    'templateUrl': 'overview/controllers/system-overview-controller.html',
+                    'controller': 'systemOverviewController',
+                    authenticated: true
                 });
         }]);
 
diff --git a/app/overview/styles/index.scss b/app/overview/styles/index.scss
index ccd10bf..cbe07ca 100644
--- a/app/overview/styles/index.scss
+++ b/app/overview/styles/index.scss
@@ -1,7 +1 @@
-@import "./bmc-reboot.scss";
-@import "./log.scss";
-@import "./sensors.scss";
-@import "./inventory.scss";
-@import "./power-operations.scss";
-@import "./system-overview.scss";
-@import "./unit-id.scss";
\ No newline at end of file
+@import "./system-overview.scss";
\ No newline at end of file
diff --git a/app/overview/styles/inventory.scss b/app/overview/styles/inventory.scss
deleted file mode 100644
index 1aba405..0000000
--- a/app/overview/styles/inventory.scss
+++ /dev/null
@@ -1,338 +0,0 @@
-@mixin col-label {
-  text-transform: uppercase;
-  font-weight: 700;
-  font-size: .8em;
-}
-
-$title-minWidth: 210px;
-
-.inventory__heading {
-  font-weight: 700;
-}
-
-.inv-active {
-  color: $active;
-}
-
-.inv-inactive {
-  color: $inactive;
-}
-
-.inv-present {
-  color: $present;
-}
-.inv-not-present {
-  color: $not-present;
-}
-
-.inventory__critical-label {
-  color: $thresh-critical;
-}
-
-.inventory__warning-label {
-  color: $thresh-warning;
-}
-
-.inventory__medium-label {
-  color: $medium-lightbg;
-}
-
-.inventory__low-label {
-  color: $low-lightbg;
-}
-
-.col-3 {
-  @include calcColumn-3;
-}
-.col-4 {
-  min-width: 100%;
-  @include mediaQuery(medium) {
-    @include calcColumn-4(15px);
-  }
-}
-// Inventory Overview
-
-#inventory-overview {
-  .inventory__group {
-    position: relative;
-    display: block;
-    margin: .5em 0;
-    font-weight: 700;
-    background: $white;
-    padding: 1.8em 1em 1em 3.7em;
-    text-decoration: none;
-    border: 1px solid $lightgrey;
-    vertical-align: middle;
-    &:hover {
-      background: $lightblue;
-      color: $black;
-    }
-    @include mediaQuery(x-large) {
-      //max-width: 60%;
-    }
-    .inv-active {
-      color: darken($active, 20%);
-    }
-    .inv-present {
-      color: darken($present, 20%);
-    }
-    &.inv-disabled {
-      background: lighten($lightgrey, 5%);
-      .inventory__device-col {
-        color: lighten($darkgrey, 20%);
-      }
-    }
-  }
-  .priority-tag-circ {
-    position: absolute;
-    top: 50%;
-    left: 1.2em;
-    transform: translateY(-50%);
-  }
-
-  // Header row
-  .header__actions-bar {
-    padding-left: 3.5em;
-    padding-right: 1em;
-  }
-}
-
-// Inventory single items
-
-#inventory, #inventory-overview {
-  .inventory__device-col {
-    margin-right: 6px;
-    width: 50%;
-    @include mediaQuery(medium){
-      width: auto;
-    }
-  }
-  .inventory__function-col {
-    @include col-label;
-    display: none;
-  }
-  .inventory__present-col {
-    @include col-label;
-    display: none;
-  }
-  .inventory__state-col {
-    @include col-label;
-  }
-  .inventory__device-col,
-  .inventory__function-col,
-  .inventory__present-col,
-  .inventory__state-col {
-    @media (min-width: 1025px){
-      display: inline-block;
-      @include calcColumn-4(5px);
-    }
-  }
-
-  .content__search {
-    max-width: 100%;
-    @media(min-width: 1300px) {
-      max-width: 50%;
-    }
-  }
-  .toggle-filter {
-    display: inline-block;
-    margin-right: 0;
-  }
-}
-
-#back-link {
-  margin: 1em 0 0;
-  a {
-    text-decoration: none;
-    position: relative;
-    display: inline-block;
-    padding-left: 1.2em;
-    font-weight: 700;
-    &:before {
-      content: '\221F';
-      position: absolute;
-      top: 50%;
-      left: 0;
-      transform: translateY(-53%) rotate(45deg);
-      display: inline-block;
-      margin-right: 6px;
-      font-size: 1.1em;
-      font-weight: bold;
-      text-shadow: 0 0 1px black;
-    }
-    &:hover {
-      text-decoration: underline;
-    }
-  }
-}
-
-#inventory__details {
-  display: block;
-  margin-top: .6em;
-  position: relative;
-  overflow: hidden;
-
-  .header__actions-bar {
-    position: relative;
-
-    .priority-tag-circ {
-      position: absolute;
-      left: 1.2em;
-      top: 50%;
-      transform: translateY(-50%);
-      &.high-priority {
-        background-color: rgba($critical-darkbg, .3);
-      }
-    }
-    .inventory__category {
-      margin: 0;
-      color: $white;
-      min-width: $title-minWidth;
-    }
-  }
-  .accord-row {padding-left: 3.7em;}
-  .header-row {
-    background: $darkpurple;
-    padding-left: 3.7em;
-    .inv-active {
-      color: $active;
-    }
-
-    .inv-inactive {
-      color: $inactive;
-    }
-
-    .inv-present {
-      color: $present;
-    }
-    .inv-not-present {
-      color: $not-present;
-    }
-
-    .inventory__critical-label {
-      color: lighten($thresh-critical, 15%);
-    }
-
-    .inventory__warning-label {
-      color: $thresh-warning;
-    }
-
-    .inventory__medium-label {
-      color: $medium-lightbg;
-    }
-
-    .inventory__low-label {
-      color: lighten($low-lightbg, 20%);
-    }
-  }
-
-  //Export log
-  .btn-export {
-    text-transform: capitalize;
-    color: $black;
-    font-size: .9em;
-    font-weight: 700;
-    position: relative;
-    padding: 0 0 1em 2em;
-    &:hover {
-      text-decoration: underline;
-    }
-  }
-  .btn-export {
-    margin-top: 7px;
-  }
-  .btn-export:before {
-    content: '\21E5';
-    position: absolute;
-    font-size: 1.7em;
-    vertical-align: middle;
-    transform: rotate(90deg);
-    display: inline-block;
-    left: 2px;
-    top: -5px;
-  }
-
-  .accord-row {
-    padding-top: 1.6em;
-    .priority-tag-circ {
-      position: absolute;
-      top: 28px;
-      left: 1.2em;
-    }
-  }
-
-  .accord-trigger {
-    position: absolute;
-    top: 20px;
-    right: 1em;
-  }
-  //Sensor info
-  .inventory__title {
-    font-weight: 700;
-    font-size: 1.1em;
-    min-width: $title-minWidth;
-    max-width: 78%;
-    vertical-align: top;
-  }
-  .inventory__description {
-    font-weight: 400;
-  }
-
-  .inventory__reading {
-    @include fontCourierBold;
-    font-size: 1.2em;
-    color: $black;
-    //max-width: 18%;
-  }
-
-  // Sensor metadata row
-  .inventory__metadata-row {
-    max-height: 0;
-    overflow: hidden;
-    -webkit-transition: 0.5s linear max-height;
-    transition: 0.5s linear max-height;
-    padding: 0;
-    &.active {
-      max-height: 1000px; //max-height used to allow flexible height of content and still allow transition
-      @include fastTransition-all;
-      //@include mediaQuery(small) {
-      //  max-height: 1000px;
-      //}
-      //@include mediaQuery(medium) {
-      //  max-height: 1000px;
-      //}
-    }
-  }
-  .inv-event-log-row {
-    position: relative;
-    z-index: 100;
-    border-top: 2px solid $lightgrey;
-    margin-right: 3.7em;
-    margin-left: 0;
-    padding-top: .8em;
-    word-break: break-word;
-    :first-child,
-    :last-child {
-      font-size: .9em;
-      font-weight: 600;
-      text-transform: uppercase;
-      text-decoration: none;
-      padding-bottom: .7em;
-      padding-top: .7em;
-      @include mediaQuery(small) {
-        padding-bottom: 0;
-        padding-top: 0;
-      }
-    }
-    a:hover {
-      text-decoration: underline;
-    }
-    .column {
-      margin-bottom: 0;
-    }
-  }
-}
-
-//end inventory details
-
-
diff --git a/app/overview/controllers/bmc-reboot-controller.html b/app/server-control/controllers/bmc-reboot-controller.html
similarity index 84%
rename from app/overview/controllers/bmc-reboot-controller.html
rename to app/server-control/controllers/bmc-reboot-controller.html
index b847624..50fca7f 100644
--- a/app/overview/controllers/bmc-reboot-controller.html
+++ b/app/server-control/controllers/bmc-reboot-controller.html
@@ -8,7 +8,7 @@
     </div>
 
     <div class="row column btm-border-grey bmc-reboot-option"
-         ng-class="{disabled: confirm || dataService.loading, transitionAll: confirm}">
+         ng-class="{disabled: dataService.server_unreachable || dataService.loading, transitionAll: confirm}">
         <ul>
             <li>Rebooting the BMC causes your browser to lose contact with the BMC for several minutes.</li>
             <li>When the BMC software has started, you can then log in again.</li>
@@ -16,7 +16,7 @@
                 BMC’s address and log in again.
             </li>
         </ul>
-        <button id="bmc__reboot" class="btn-secondary" ng-click="rebootConfirm()"><i>&#x21BB</i> Reboot BMC
+        <button id="bmc__reboot" class="btn-secondary" ng-click="rebootConfirm()" ng-disabled="dataService.server_unreachable"><i>&#x21BB</i> Reboot BMC
         </button>
         <confirm title="Reboot the BMC"
                  message="Rebooting the BMC causes your browser to lose contact with the BMC for several minutes."
diff --git a/app/overview/controllers/bmc-reboot-controller.js b/app/server-control/controllers/bmc-reboot-controller.js
similarity index 94%
rename from app/overview/controllers/bmc-reboot-controller.js
rename to app/server-control/controllers/bmc-reboot-controller.js
index e01d66c..a28c6ad 100644
--- a/app/overview/controllers/bmc-reboot-controller.js
+++ b/app/server-control/controllers/bmc-reboot-controller.js
@@ -1,7 +1,7 @@
 /**
  * Controller for bmc-reboot
  *
- * @module app/overview
+ * @module app/serverControl
  * @exports bmcRebootController
  * @name bmcRebootController
  * @version 0.1.0
@@ -11,7 +11,7 @@
     'use strict';
 
     angular
-        .module('app.overview')
+        .module('app.serverControl')
         .controller('bmcRebootController', [
             '$scope', 
             '$window', 
diff --git a/app/overview/controllers/power-operations-controller.html b/app/server-control/controllers/power-operations-controller.html
similarity index 67%
rename from app/overview/controllers/power-operations-controller.html
rename to app/server-control/controllers/power-operations-controller.html
index edab627..79aa861 100644
--- a/app/overview/controllers/power-operations-controller.html
+++ b/app/server-control/controllers/power-operations-controller.html
@@ -23,31 +23,31 @@
         </div>
 
         <!-- Power on displays only when server is shutdown -->
-        <div class="row column power-option" ng-hide="dataService.server_state == 'Running'" ng-class="{disabled: (confirm && !power_confirm) || dataService.loading, transitionAll: confirm && power_confirm}">
-            <button id="power__power-on" class="btn-secondary" ng-click="togglePower()" role="button"><img src="assets/images/icon-power.svg">Power On</button>
+        <div class="row column power-option" ng-hide="dataService.server_state == 'Running' || dataService.server_state == 'Quiesced'" ng-class="{disabled: dataService.server_unreachable || (confirm && !power_confirm) || dataService.loading, transitionAll: confirm && power_confirm}">
+            <button id="power__power-on" class="btn-secondary" ng-click="togglePower()" role="button" ng-disabled="dataService.server_unreachable"><img src="assets/images/icon-power.svg">Power On</button>
             <p>Attempts to power on the server</p>
 
             <!---<confirm title="power off" message="Power off the server" confirm="power_confirm" ng-show="power_confirm" callback="togglePower"></confirm>-->
         </div>
 
         <!-- Power reboot/shutdown options : when server is off all of these are hidden. When one option is selected, the others are disabled. -->
-        <div class="row column power-option" ng-hide="dataService.server_state == 'Off'" ng-class="{disabled: (confirm && !warmboot_confirm) || dataService.loading, transitionAll: confirm && warmboot_confirm}">
-            <button id="power__warm-boot" class="btn-secondary" ng-click="warmRebootConfirm()" role="button"><i>&#x21BB</i> Warm reboot</button>
+        <div class="row column power-option" ng-hide="dataService.server_state == 'Off'" ng-class="{disabled: dataService.server_unreachable || (confirm && !warmboot_confirm) || dataService.loading, transitionAll: confirm && warmboot_confirm}">
+            <button id="power__warm-boot" class="btn-secondary" ng-click="warmRebootConfirm()" role="button" ng-disabled="dataService.server_unreachable"><i>&#x21BB</i> Warm reboot</button>
             <p>Attempts to perform an orderly shutdown before restarting the server</p>
             <confirm title="Warm Reboot" message="perform an orderly shutdown" confirm="warmboot_confirm" ng-show="warmboot_confirm" callback="warmReboot"></confirm>
         </div>
-        <div class="row column power-option" ng-hide="dataService.server_state == 'Off'" ng-class="{disabled: (confirm && !coldboot_confirm) || dataService.loading, transitionAll: confirm && coldboot_confirm}">
-            <button id="power__cold-boot" class="btn-secondary" ng-click="coldRebootConfirm()" role="button"><i>&#x21BB</i> Cold reboot</button>
+        <div class="row column power-option" ng-hide="dataService.server_state == 'Off'" ng-class="{disabled: dataService.server_unreachable || (confirm && !coldboot_confirm) || dataService.loading, transitionAll: confirm && coldboot_confirm}">
+            <button id="power__cold-boot" class="btn-secondary" ng-click="coldRebootConfirm()" role="button" ng-disabled="dataService.server_unreachable"><i>&#x21BB</i> Cold reboot</button>
             <p>Shuts down the server immediately, then restarts it</p>
             <confirm title="Cold Reboot" message="Shutdown server immediately." confirm="coldboot_confirm" ng-show="coldboot_confirm" cancel="coldbootCancel" callback="coldReboot"></confirm>
         </div>
-        <div class="row column power-option" ng-hide="dataService.server_state == 'Off'" ng-class="{disabled: (confirm && !orderly_confirm) || dataService.loading, transitionAll: confirm && orderly_confirm}">
-            <button id="power__soft-shutdown" class="btn-secondary" ng-click="orderlyShutdownConfirm()" role="button"><img src="assets/images/icon-power.svg" />Orderly shutdown</button>
+        <div class="row column power-option" ng-hide="dataService.server_state == 'Off'" ng-class="{disabled: dataService.server_unreachable || (confirm && !orderly_confirm) || dataService.loading, transitionAll: confirm && orderly_confirm}">
+            <button id="power__soft-shutdown" class="btn-secondary" ng-click="orderlyShutdownConfirm()" role="button" ng-disabled="dataService.server_unreachable"><img src="assets/images/icon-power.svg" />Orderly shutdown</button>
             <p>Attempts to stop all software on the server before removing power</p>
             <confirm title="Orderly shutdown" message="Attempts to stop all software orderly." confirm="orderly_confirm" ng-show="orderly_confirm" cancel="orderlyShutdownCancel" callback="orderlyShutdown"></confirm>
         </div>
-        <div class="row column power-option" ng-hide="dataService.server_state == 'Off'" ng-class="{disabled: (confirm && !immediately_confirm) || dataService.loading, transitionAll: confirm && immediately_confirm}">
-            <button id="power__hard-shutdown" class="btn-secondary" ng-click="immediateShutdownConfirm()" role="button"><img src="assets/images/icon-power.svg" />Immediate shutdown</button>
+        <div class="row column power-option" ng-hide="dataService.server_state == 'Off'" ng-class="{disabled: dataService.server_unreachable || (confirm && !immediately_confirm) || dataService.loading, transitionAll: confirm && immediately_confirm}">
+            <button id="power__hard-shutdown" class="btn-secondary" ng-click="immediateShutdownConfirm()" role="button" ng-disabled="dataService.server_unreachable"><img src="assets/images/icon-power.svg" />Immediate shutdown</button>
             <p>Removes power from the server without waiting for software to stop</p>
             <confirm title="Immediate shutdown" message="Removes power from the server immediately." confirm="immediately_confirm" ng-show="immediately_confirm" cancel="immediatelyShutdownCancel" callback="immediateShutdown"></confirm>
         </div>
diff --git a/app/overview/controllers/power-operations-controller.js b/app/server-control/controllers/power-operations-controller.js
similarity index 98%
rename from app/overview/controllers/power-operations-controller.js
rename to app/server-control/controllers/power-operations-controller.js
index 1780da3..4e66f56 100644
--- a/app/overview/controllers/power-operations-controller.js
+++ b/app/server-control/controllers/power-operations-controller.js
@@ -1,7 +1,7 @@
 /**
  * Controller for power-operations
  *
- * @module app/overview
+ * @module app/serverControl
  * @exports powerOperationsController
  * @name powerOperationsController
  * @version 0.1.0
@@ -11,7 +11,7 @@
     'use strict';
 
     angular
-        .module('app.overview')
+        .module('app.serverControl')
         .controller('powerOperationsController', [
             '$scope', 
             'APIUtils', 
diff --git a/app/server-control/controllers/remote-console-controller.html b/app/server-control/controllers/remote-console-controller.html
new file mode 100644
index 0000000..5b456d4
--- /dev/null
+++ b/app/server-control/controllers/remote-console-controller.html
@@ -0,0 +1,5 @@
+<div id="server-control-remote-console">
+    <div class="row column">
+        <h1>Remote Console</h1>
+    </div>
+</div>
\ No newline at end of file
diff --git a/app/server-control/controllers/remote-console-controller.js b/app/server-control/controllers/remote-console-controller.js
new file mode 100644
index 0000000..2f3376e
--- /dev/null
+++ b/app/server-control/controllers/remote-console-controller.js
@@ -0,0 +1,26 @@
+/**
+ * Controller for server
+ *
+ * @module app/serverControl
+ * @exports remoteConsoleController
+ * @name remoteConsoleController
+ * @version 0.1.0
+ */
+
+window.angular && (function (angular) {
+    'use strict';
+
+    angular
+        .module('app.serverControl')
+        .controller('remoteConsoleController', [
+            '$scope', 
+            '$window', 
+            'APIUtils', 
+            'dataService',
+            function($scope, $window, APIUtils, dataService){
+                $scope.dataService = dataService;
+            }
+        ]
+    );
+
+})(angular);
diff --git a/app/server-control/index.js b/app/server-control/index.js
new file mode 100644
index 0000000..3df0666
--- /dev/null
+++ b/app/server-control/index.js
@@ -0,0 +1,43 @@
+/**
+ * A module for the serverControl
+ *
+ * @module app/server-control/index
+ * @exports app/server-control/index
+ * @version 0.0.1
+ */
+
+window.angular && (function (angular) {
+    'use strict';
+
+    angular
+        .module('app.serverControl', [
+            'ngRoute',
+            'app.constants',
+            'app.common.services'
+        ])
+        // Route configuration
+        .config(['$routeProvider', function ($routeProvider) {
+            $routeProvider
+                .when('/server-control/bmc-reboot', {
+                    'templateUrl': 'server-control/controllers/bmc-reboot-controller.html',
+                    'controller': 'bmcRebootController',
+                    authenticated: true
+                })
+                .when('/server-control/power-operations', {
+                    'templateUrl': 'server-control/controllers/power-operations-controller.html',
+                    'controller': 'powerOperationsController',
+                    authenticated: true
+                })
+                .when('/server-control/remote-console', {
+                    'templateUrl': 'server-control/controllers/remote-console-controller.html',
+                    'controller': 'remoteConsoleController',
+                    authenticated: true
+                })
+                .when('/server-control', {
+                    'templateUrl': 'server-control/controllers/power-operations-controller.html',
+                    'controller': 'powerOperationsController',
+                    authenticated: true
+                });
+        }]);
+
+})(window.angular);
diff --git a/app/overview/styles/bmc-reboot.scss b/app/server-control/styles/bmc-reboot.scss
similarity index 100%
rename from app/overview/styles/bmc-reboot.scss
rename to app/server-control/styles/bmc-reboot.scss
diff --git a/app/server-control/styles/index.scss b/app/server-control/styles/index.scss
new file mode 100644
index 0000000..dfb6b6e
--- /dev/null
+++ b/app/server-control/styles/index.scss
@@ -0,0 +1,3 @@
+@import "./bmc-reboot.scss";
+@import "./power-operations.scss";
+@import "./remote-console.scss";
\ No newline at end of file
diff --git a/app/overview/styles/power-operations.scss b/app/server-control/styles/power-operations.scss
similarity index 92%
rename from app/overview/styles/power-operations.scss
rename to app/server-control/styles/power-operations.scss
index 1a517be..3594ab4 100644
--- a/app/overview/styles/power-operations.scss
+++ b/app/server-control/styles/power-operations.scss
@@ -44,8 +44,8 @@
     padding: 1.4em 3em 0;
     margin-bottom: 3.750em;
     background-size: 200% 100%;
-    background-image: linear-gradient(to right, $status-ok-light 50%, $lightgrey 50%);
-    background-position: 100%;
+    background-image: linear-gradient(to right, $lightgrey 50%, $status-ok-light 50%);
+    background-position: 0;
     transition: background-position 2s ease;
     overflow: hidden;
     p {
@@ -53,7 +53,7 @@
       margin: 0;
     }
     &.power__state-on {
-      background-position: -200%;
+      background-position: -100%;
       .power__state {
         span:before {
           color: $status-ok;
@@ -61,7 +61,7 @@
       }
     }
     &.power__state-off {
-      background-position: -100%;
+      background-position: 0;
       color: $darkgrey;
       .power__state {
         span:before {
diff --git a/app/server-control/styles/remote-console.scss b/app/server-control/styles/remote-console.scss
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/app/server-control/styles/remote-console.scss
diff --git a/app/server-health/controllers/diagnostics-controller.html b/app/server-health/controllers/diagnostics-controller.html
new file mode 100644
index 0000000..04469f2
--- /dev/null
+++ b/app/server-health/controllers/diagnostics-controller.html
@@ -0,0 +1,5 @@
+<div id=diagnostics">
+    <div class="row column">
+        <h1>Diagnostics</h1>
+    </div>
+</div>
\ No newline at end of file
diff --git a/app/server-health/controllers/diagnostics-controller.js b/app/server-health/controllers/diagnostics-controller.js
new file mode 100644
index 0000000..1613d8d
--- /dev/null
+++ b/app/server-health/controllers/diagnostics-controller.js
@@ -0,0 +1,26 @@
+/**
+ * Controller for server
+ *
+ * @module app/serverHealth
+ * @exports diagnosticsController
+ * @name diagnosticsController
+ * @version 0.1.0
+ */
+
+window.angular && (function (angular) {
+    'use strict';
+
+    angular
+        .module('app.serverHealth')
+        .controller('diagnosticsController', [
+            '$scope', 
+            '$window', 
+            'APIUtils', 
+            'dataService',
+            function($scope, $window, APIUtils, dataService){
+                $scope.dataService = dataService;
+            }
+        ]
+    );
+
+})(angular);
diff --git a/app/server-health/controllers/fru-information-controller.html b/app/server-health/controllers/fru-information-controller.html
new file mode 100644
index 0000000..ce43386
--- /dev/null
+++ b/app/server-health/controllers/fru-information-controller.html
@@ -0,0 +1,5 @@
+<div id="fru-information-server">
+    <div class="row column">
+        <h1>fru information</h1>
+    </div>
+</div>
\ No newline at end of file
diff --git a/app/server-health/controllers/inventory-controller.html b/app/server-health/controllers/inventory-controller.html
index 2d2856a..2941aaa 100644
--- a/app/server-health/controllers/inventory-controller.html
+++ b/app/server-health/controllers/inventory-controller.html
@@ -16,43 +16,41 @@
             <input id="content__search-input" type="text" placeholder="Filter hardware components"/>
             <input id="content__search-submit" type="submit" class="btn btn-primary" value="Submit"/>
         </div>
-        <div class="toggle-filter">
-            <button class="inline first" ng-click="toggleall = !toggleall"
-		            ng-class="toggleall ? 'btn-primary' : 'btn-secondary'">All
-            </button>
-            <button class="inline " ng-click="togglehigh = !togglehigh"
-		            ng-class="togglehigh ? 'btn-primary' : 'btn-secondary'">High
-            </button>
-            <button class="inline" ng-click="togglemed = !togglemed"
-		            ng-class="togglemed ? 'btn-primary' : 'btn-secondary'">Medium
-            </button>
-            <button class="inline last" ng-click="togglelow = !togglelow"
-		            ng-class="togglelow ? 'btn-primary' : 'btn-secondary'">Low
-            </button>
-        </div>
+        <!--<div class="toggle-filter">-->
+            <!--<button class="inline first" ng-click="toggleall = !toggleall"-->
+		            <!--ng-class="toggleall ? 'btn-primary' : 'btn-secondary'">All-->
+            <!--</button>-->
+            <!--<button class="inline " ng-click="togglehigh = !togglehigh"-->
+		            <!--ng-class="togglehigh ? 'btn-primary' : 'btn-secondary'">High-->
+            <!--</button>-->
+            <!--<button class="inline" ng-click="togglemed = !togglemed"-->
+		            <!--ng-class="togglemed ? 'btn-primary' : 'btn-secondary'">Medium-->
+            <!--</button>-->
+            <!--<button class="inline last" ng-click="togglelow = !togglelow"-->
+		            <!--ng-class="togglelow ? 'btn-primary' : 'btn-secondary'">Low-->
+            <!--</button>-->
+        <!--</div>-->
     </section> <!-- end filter -->
     <section class="row column">
-        <div id="back-link">
-            <a href="#/overview/inventory-overview">Back to Inventory overview</a>
+        <div class="back-link">
+            <a href="#/server-health/inventory-overview">Back to Inventory overview</a>
         </div>
     </section>
     <section id="inventory__details" class="row">
         <div class="row column header-row header__actions-bar">
-            <div class="column small-12 large-3  ">
-                <p class="inline inventory__heading inventory__device-col"><span
-		                class="inline priority-tag-circ high-priority" aria-label="High Priority"></span>CPU cores (6)
-                </p>
+            <div class="column small-12">
+	            <p class="h2">CPU cores (6)</p>
             </div>
-            <div class="column hide-for-medium-only large-3  ">
-                <p class="inline inventory__heading inventory__function-col inv-active">Active</p>
-            </div>
-            <div class="column hide-for-medium-only large-3  ">
-                <p class="inline inventory__heading inventory__present-col inv-present">Present</p>
-            </div>
-            <div class="column hide-for-medium-only large-2  ">
-                <p class="inline inventory__heading inventory__state-col inventory__critical-label" aria-label="High - Emergency">High - Emergency</p>
-            </div>
-            <div class="column small-4 large-1 "></div>
+            <!--<div class="column hide-for-medium-only large-3  ">-->
+                <!--<p class="inline inventory__heading inventory__function-col inv-active">Active</p>-->
+            <!--</div>-->
+            <!--<div class="column hide-for-medium-only large-3  ">-->
+                <!--<p class="inline inventory__heading inventory__present-col inv-present">Present</p>-->
+            <!--</div>-->
+            <!--<div class="column hide-for-medium-only large-2  ">-->
+                <!--<p class="inline inventory__heading inventory__state-col inventory__critical-label" aria-label="High - Emergency">High - Emergency</p>-->
+            <!--</div>-->
+            <!--<div class="column small-4 large-1 "></div>-->
         </div>
 
 	    <!-- Inventory Item -->
@@ -71,7 +69,7 @@
                     <p class="content-label">Serial Number</p>
                     <p class="courier-bold">1230123ab</p>
                 </div>
-                <div class="column small-12 small-4 large-2">
+                <div class="column small-12 large-2">
                     <p class="content-label">Model Number</p>
                     <p class="courier-bold">86399-2201</p>
                 </div>
@@ -82,11 +80,11 @@
                     <div class="column large-3 hide-for-medium-only">
                         &nbsp;
                     </div>
-                    <div class="column large-3 small-12">
+                    <div class="column small-12 large-3">
                         <p class="content-label">Manufacturer</p>
                         <p class="courier-bold">IBM</p>
                     </div>
-                    <div class="column large-3 small-12">
+                    <div class="column small-12 large-3">
                         <p class="content-label">CCIN</p>
                         <p class="courier-bold">2BE3</p>
                     </div>
@@ -138,7 +136,7 @@
                         org.open_power.Error.Host.Event.Event.Cras.amet
                     </p>
                     <p class="column small-12 large-2">
-                        <a href="#/overviewlog"> View event log</a>
+                        <a href="#/server-health/event-log"> View event log</a>
                     </p>
                 </div>
             </div>
@@ -227,7 +225,7 @@
                         org.open_power.Error.Host.Event.Event.Cras.amet
                     </p>
                     <p class="column small-12 large-2">
-                        <a href="#/overviewlog"> View event log</a>
+                        <a href="#/server-health/event-log"> View event log</a>
                     </p>
                 </div>
             </div>
@@ -316,7 +314,7 @@
 					    org.open_power.Error.Host.Event.Event.Cras.amet
 				    </p>
 				    <p class="column small-12 large-2">
-					    <a href="#/overviewlog"> View event log</a>
+					    <a href="#/server-health/event-log"> View event log</a>
 				    </p>
 			    </div>
 		    </div>
@@ -405,7 +403,7 @@
                         org.open_power.Error.Host.Event.Event.Cras.amet
                     </p>
                     <p class="column small-12 large-2">
-                        <a href="#/overviewlog"> View event log</a>
+                        <a href="#/server-health/event-log"> View event log</a>
                     </p>
                 </div>
             </div>
@@ -477,7 +475,7 @@
 				    <div class="column large-9">
 					    <p class="content-label">Unit Indicator</p><br />
 					    <div class="toggle inline">
-						    <input id="toggle__switch-round"
+						    <input  title="toggle-switch"
 								    class="toggle-switch toggle-switch__round-flat"
 								    type="checkbox"
 								    tabindex="0"
@@ -494,7 +492,7 @@
 					    org.open_power.Error.Host.Event.Event.Cras.amet
 				    </p>
 				    <p class="column small-12 large-2">
-					    <a href="#/overviewlog"> View event log</a>
+					    <a href="#/server-health/event-log"> View event log</a>
 				    </p>
 			    </div>
 		    </div>
@@ -566,7 +564,7 @@
 				    <div class="column large-9">
 					    <p class="content-label">Unit Indicator</p><br />
 					    <div class="toggle inline">
-						    <input id="toggle__switch-round"
+						    <input title="toggle-switch"
 								    class="toggle-switch toggle-switch__round-flat"
 								    type="checkbox"
 								    tabindex="0"
@@ -583,7 +581,7 @@
 					    org.open_power.Error.Host.Event.Event.Cras.amet
 				    </p>
 				    <p class="column small-12 large-2">
-					    <a href="#/overviewlog"> View event log</a>
+					    <a href="#/server-health/event-log"> View event log</a>
 				    </p>
 			    </div>
 		    </div>
diff --git a/app/server-health/controllers/inventory-controller.js b/app/server-health/controllers/inventory-controller.js
new file mode 100644
index 0000000..7196f7b
--- /dev/null
+++ b/app/server-health/controllers/inventory-controller.js
@@ -0,0 +1,29 @@
+/**
+ * Controller for server
+ *
+ * @module app/serverHealth
+ * @exports inventoryController
+ * @name inventoryController
+ * @version 0.1.0
+ */
+
+window.angular && (function (angular) {
+    'use strict';
+
+    angular
+        .module('app.serverHealth')
+        .controller('inventoryController', [
+            '$scope', 
+            '$window', 
+            'APIUtils', 
+            'dataService',
+            function($scope, $window, APIUtils, dataService){
+                $scope.dataService = dataService;
+
+                // Force to top of page when viewing single group
+                $window.scrollTo(0, 0);
+            }
+        ]
+    );
+
+})(angular);
diff --git a/app/server-health/controllers/inventory-overview-controller.html b/app/server-health/controllers/inventory-overview-controller.html
index 1ad0357..977be6b 100644
--- a/app/server-health/controllers/inventory-overview-controller.html
+++ b/app/server-health/controllers/inventory-overview-controller.html
@@ -16,20 +16,20 @@
                 id="content__search-submit" type="submit" class="btn btn-secondary"
                 value="Submit"/>
         </div>
-        <div class="toggle-filter">
-            <button class="inline first" ng-click="toggleall = !toggleall"
-                    ng-class="toggleall ? 'btn-primary' : 'btn-secondary'">All
-            </button>
-            <button class="inline " ng-click="togglehigh = !togglehigh"
-                    ng-class="togglehigh ? 'btn-primary' : 'btn-secondary'">High
-            </button>
-            <button class="inline" ng-click="togglemed = !togglemed"
-                    ng-class="togglemed ? 'btn-primary' : 'btn-secondary'">Medium
-            </button>
-            <button class="inline last" ng-click="togglelow = !togglelow"
-                    ng-class="togglelow ? 'btn-primary' : 'btn-secondary'">Low
-            </button>
-        </div>
+        <!--<div class="toggle-filter">-->
+            <!--<button class="inline first" ng-click="toggleall = !toggleall"-->
+                    <!--ng-class="toggleall ? 'btn-primary' : 'btn-secondary'">All-->
+            <!--</button>-->
+            <!--<button class="inline " ng-click="togglehigh = !togglehigh"-->
+                    <!--ng-class="togglehigh ? 'btn-primary' : 'btn-secondary'">High-->
+            <!--</button>-->
+            <!--<button class="inline" ng-click="togglemed = !togglemed"-->
+                    <!--ng-class="togglemed ? 'btn-primary' : 'btn-secondary'">Medium-->
+            <!--</button>-->
+            <!--<button class="inline last" ng-click="togglelow = !togglelow"-->
+                    <!--ng-class="togglelow ? 'btn-primary' : 'btn-secondary'">Low-->
+            <!--</button>-->
+        <!--</div>-->
     </section>
     <!-- end search -->
     <section id="inventory-categories" class="row column">
@@ -56,7 +56,7 @@
             <p class="inline inventory__present-col inv-present">Present</p>
             <p class="inline inventory__state-col">&nbsp;</p>
         </a>
-        <a class="inventory__group" href="#/overview/inventory">
+        <a class="inventory__group" href="#/server-health/inventory">
             <p class="inline inventory__device-col"><span class="inline priority-tag-circ high-priority" aria-label="High Priority"></span>CPU cores (6)</p>
             <p class="inline inventory__function-col inv-active">Active</p>
             <p class="inline inventory__present-col inv-present">Present</p>
diff --git a/app/overview/controllers/inventory-overview-controller.js b/app/server-health/controllers/inventory-overview-controller.js
similarity index 60%
rename from app/overview/controllers/inventory-overview-controller.js
rename to app/server-health/controllers/inventory-overview-controller.js
index 9177ae5..3eda37b 100644
--- a/app/overview/controllers/inventory-overview-controller.js
+++ b/app/server-health/controllers/inventory-overview-controller.js
@@ -1,9 +1,9 @@
 /**
- * Controller for log
+ * Controller for server
  *
- * @module app/overview
- * @exports logController
- * @name logController
+ * @module app/serverHealth
+ * @exports inventoryOverviewController
+ * @name inventoryOverviewController
  * @version 0.1.0
  */
 
@@ -11,15 +11,14 @@
     'use strict';
 
     angular
-        .module('app.overview')
+        .module('app.serverHealth')
         .controller('inventoryOverviewController', [
             '$scope', 
             '$window', 
             'APIUtils', 
             'dataService',
-            function($scope, $window, APIUtils, dataService, userModel){
+            function($scope, $window, APIUtils, dataService){
                 $scope.dataService = dataService;
-
             }
         ]
     );
diff --git a/app/server-health/controllers/power-consumption-controller.html b/app/server-health/controllers/power-consumption-controller.html
new file mode 100644
index 0000000..7dfdf89
--- /dev/null
+++ b/app/server-health/controllers/power-consumption-controller.html
@@ -0,0 +1,5 @@
+<div id="power-consumption">
+    <div class="row column">
+        <h1>Power consumption</h1>
+    </div>
+</div>
\ No newline at end of file
diff --git a/app/server-health/controllers/power-consumption-controller.js b/app/server-health/controllers/power-consumption-controller.js
new file mode 100644
index 0000000..893ca31
--- /dev/null
+++ b/app/server-health/controllers/power-consumption-controller.js
@@ -0,0 +1,26 @@
+/**
+ * Controller for server
+ *
+ * @module app/serverHealth
+ * @exports powerConsumptionController
+ * @name powerConsumptionController
+ * @version 0.1.0
+ */
+
+window.angular && (function (angular) {
+    'use strict';
+
+    angular
+        .module('app.serverHealth')
+        .controller('powerConsumptionController', [
+            '$scope', 
+            '$window', 
+            'APIUtils', 
+            'dataService',
+            function($scope, $window, APIUtils, dataService){
+                $scope.dataService = dataService;
+            }
+        ]
+    );
+
+})(angular);
diff --git a/app/overview/controllers/sensors-controller.html b/app/server-health/controllers/sensors-controller.html
similarity index 84%
rename from app/overview/controllers/sensors-controller.html
rename to app/server-health/controllers/sensors-controller.html
index ff4ea56..79c9359 100644
--- a/app/overview/controllers/sensors-controller.html
+++ b/app/server-health/controllers/sensors-controller.html
@@ -34,13 +34,13 @@
 
     <section class="row column">
     <div id="back-link">
-        <a href="#/overview/sensors-overview">Back to Sensor Overview</a>
+        <a href="#/server-health/sensors-overview">Back to Sensor Overview</a>
     </div>
     </section>
 
     <section id="sensor__details" class="row column">
         <div class="row column header-row">
-            <div class="column small-10 large-11 end header__actions-bar">
+            <div class="column small-10 large-11 header__actions-bar">
                 <p class="inline priority-tag-circ high-priority" aria-label="High Priority"></p>
                 <p class="inline sensor__heading sensor__category">Fan speed (RPMs)</p>
                 <p class="inline sensor__heading middle">Reading</p>
@@ -77,6 +77,15 @@
                         <span class="threshold__label high">High</span>
                     </div>
                 </div>
+
+                <div class="column small-12 large-6">
+                    <p class="h5 content-header">Associated Events</p>
+                    <a href="#/overview/log">View 5 events related to Fan 1</a>
+                </div>
+                <div class="column small-12 large-6">
+                    <p class="h5 content-header">Associated Hardware</p>
+                    <a href="">Chassis0</a>
+                </div>
             </div>
         </div>
 
@@ -107,6 +116,15 @@
                         <span class="threshold__label high">High</span>
                     </div>
                 </div>
+
+                <div class="column small-12 large-6">
+                    <p class="h5 content-header">Associated Events</p>
+                    <a href="#/overview/log">View 5 events related to Fan 1</a>
+                </div>
+                <div class="column small-12 large-6">
+                    <p class="h5 content-header">Associated Hardware</p>
+                    <p>None</p>
+                </div>
             </div>
         </div>
 
@@ -139,6 +157,15 @@
                         <span class="threshold__label high">High</span>
                     </div>
                 </div>
+
+                <div class="column small-12 large-6">
+                    <p class="h5 content-header">Associated Events</p>
+                    <a href="#/overview/log">View 5 events related to Fan 1</a>
+                </div>
+                <div class="column small-12 large-6">
+                    <p class="h5 content-header">Associated Hardware</p>
+                    <a href="">Chassis0</a>
+                </div>
             </div>
         </div>
     </section>
diff --git a/app/overview/controllers/sensors-controller.js b/app/server-health/controllers/sensors-controller.js
similarity index 72%
rename from app/overview/controllers/sensors-controller.js
rename to app/server-health/controllers/sensors-controller.js
index 97d5d3c..aaa5aa6 100644
--- a/app/overview/controllers/sensors-controller.js
+++ b/app/server-health/controllers/sensors-controller.js
@@ -1,9 +1,9 @@
 /**
- * Controller for log
+ * Controller for sensors
  *
- * @module app/overview
- * @exports logController
- * @name logController
+ * @module app/serverHealth
+ * @exports sensorsController
+ * @name sensorsController
  * @version 0.1.0
  */
 
@@ -23,8 +23,10 @@
 
                 $scope.dropdown_selected = false;
 
+                $scope.$log = $log;
+                $scope.message = 'Hello World!';
             }
         ]
     );
 
-})(angular);
+})(angular);
\ No newline at end of file
diff --git a/app/overview/controllers/sensors-overview-controller.html b/app/server-health/controllers/sensors-overview-controller.html
similarity index 91%
rename from app/overview/controllers/sensors-overview-controller.html
rename to app/server-health/controllers/sensors-overview-controller.html
index 1b86478..10ee4fa 100644
--- a/app/overview/controllers/sensors-overview-controller.html
+++ b/app/server-health/controllers/sensors-overview-controller.html
@@ -41,7 +41,7 @@
         </div>
         <a class="sensor__group" href="">All Sensors (50)</a>
         <a class="sensor__group" href=""><span class="inline priority-tag-circ normal-priority" aria-label="Normal Priority"></span>Temperature (20)</a>
-        <a class="sensor__group" href="#/overview/sensors"> <span class="inline priority-tag-circ high-priority" aria-label="High Priority"></span>Fan Speed (15) <p class="inline float-right sensor__critical-label">Critical</p></a>
+        <a class="sensor__group" href="#/server-health/sensors"> <span class="inline priority-tag-circ high-priority" aria-label="High Priority"></span>Fan Speed (15) <p class="inline float-right sensor__critical-label">Critical</p></a>
         <a class="sensor__group" href=""><span class="inline priority-tag-circ normal-priority" aria-label="Normal Priority"></span>Altitude (1)</a>
         <a class="sensor__group" href=""><span class="inline priority-tag-circ normal-priority" aria-label="Normal Priority"></span>Voltage (6)</a>
         <a class="sensor__group" href=""><span class="inline priority-tag-circ warn-priority" aria-label="Warning Priority"></span>Current (5) <p class="inline float-right sensor__warning-label">Warning</p></a>
diff --git a/app/overview/controllers/inventory-controller.js b/app/server-health/controllers/sensors-overview-controller.js
similarity index 63%
rename from app/overview/controllers/inventory-controller.js
rename to app/server-health/controllers/sensors-overview-controller.js
index 9dcc22c..1b7234d 100644
--- a/app/overview/controllers/inventory-controller.js
+++ b/app/server-health/controllers/sensors-overview-controller.js
@@ -1,9 +1,9 @@
 /**
- * Controller for log
+ * Controller for sensors-overview
  *
- * @module app/overview
- * @exports logController
- * @name logController
+ * @module app/serverHealth
+ * @exports sensorsOverviewController
+ * @name sensorsOverviewController
  * @version 0.1.0
  */
 
@@ -12,7 +12,7 @@
 
     angular
         .module('app.overview')
-        .controller('inventoryController', [
+        .controller('sensorsOverviewController', [
             '$scope',
             '$log',
             '$window', 
@@ -23,8 +23,10 @@
 
                 $scope.dropdown_selected = false;
 
+                $scope.$log = $log;
+                $scope.message = 'Hello World!';
             }
         ]
     );
 
-})(angular);
+})(angular);
\ No newline at end of file
diff --git a/app/overview/controllers/unit-id-controller.html b/app/server-health/controllers/unit-id-controller.html
similarity index 62%
rename from app/overview/controllers/unit-id-controller.html
rename to app/server-health/controllers/unit-id-controller.html
index 6e6ba72..53bd242 100644
--- a/app/overview/controllers/unit-id-controller.html
+++ b/app/server-health/controllers/unit-id-controller.html
@@ -7,19 +7,21 @@
         <h2 class="h4">Unit ID control</h2>
     </div>
 
-    <div class="row column">
+    <div class="row column" ng-class="{disabled: dataService.server_unreachable || dataService.loading}">
         <div class="btm-border-grey">
-            <div class="toggle inline" ng-init="indicatorState = 'off'">
+            <div class="toggle inline">
                 <input id="toggle__switch-round"
                        class="toggle-switch toggle-switch__round-flat"
                        type="checkbox"
                        tabindex="0"
-                       ng-click="indicatorState = { 'on': 'off', 'off':'on'}[indicatorState]"
+                       ng-click="toggleLED()"
+                       ng-checked="dataService.LED_state == 'on'"
+                       ng-disabled="dataService.server_unreachable"
                        >
-                <label for="toggle__switch-round" tabindex="0">Unit ID indicator is <span class="uid-switch__status">{{indicatorState}}</span></label>
+                <label for="toggle__switch-round" tabindex="0">Unit ID indicator is <span class="uid-switch__status">{{dataService.LED_state}}</span></label>
             </div>
             <div class="uid-switch__label inline">
-                <p>Unit ID indicator is <span class="uid-switch__status">{{indicatorState}}</span></p>
+                <p>Unit ID indicator is <span class="uid-switch__status">{{dataService.LED_state}}</span></p>
                 <p>Control unit indicator to identify server unit.</p>
             </div>
         </div>
diff --git a/app/server-health/controllers/unit-id-controller.js b/app/server-health/controllers/unit-id-controller.js
new file mode 100644
index 0000000..5494c61
--- /dev/null
+++ b/app/server-health/controllers/unit-id-controller.js
@@ -0,0 +1,46 @@
+/**
+ * Controller for unit Id
+ *
+ * @module app/serverHealth
+ * @exports unitIdController
+ * @name unitIdController
+ * @version 0.1.0
+ */
+
+window.angular && (function (angular) {
+    'use strict';
+
+    angular
+        .module('app.serverHealth')
+        .controller('unitIdController', [
+            '$scope', 
+            '$window', 
+            'APIUtils', 
+            'dataService',
+            function($scope, $window, APIUtils, dataService, userModel){
+                $scope.dataService = dataService;
+
+                $scope.getLEDState = function(){
+                    APIUtils.getLEDState(function(state){
+                        if(state == APIUtils.LED_STATE.on){
+                            dataService.LED_state = APIUtils.LED_STATE_TEXT.on;
+                        }else{
+                            dataService.LED_state = APIUtils.LED_STATE_TEXT.off;
+                        }
+                    });
+                }
+                $scope.toggleLED = function(){
+                    var toggleState = (dataService.LED_state == APIUtils.LED_STATE_TEXT.on) ?
+                        APIUtils.LED_STATE.off : APIUtils.LED_STATE.on;
+                        dataService.LED_state = (dataService.LED_state == APIUtils.LED_STATE_TEXT.on) ?
+                        APIUtils.LED_STATE_TEXT.off : APIUtils.LED_STATE_TEXT.on;
+                    APIUtils.setLEDState(toggleState, function(status){
+                    });
+                }
+
+                $scope.getLEDState();
+            }
+        ]
+    );
+
+})(angular);
diff --git a/app/server-health/index.js b/app/server-health/index.js
new file mode 100644
index 0000000..68a9a90
--- /dev/null
+++ b/app/server-health/index.js
@@ -0,0 +1,63 @@
+/**
+ * A module for the serverHealth
+ *
+ * @module app/server-health/index
+ * @exports app/server-health/index
+ * @version 0.0.1
+ */
+
+window.angular && (function (angular) {
+    'use strict';
+
+    angular
+        .module('app.serverHealth', [
+            'ngRoute',
+            'app.constants',
+            'app.common.services'
+        ])
+        // Route configuration
+        .config(['$routeProvider', function ($routeProvider) {
+            $routeProvider
+                .when('/server-health/event-log', {
+                    'templateUrl': 'server-health/controllers/log-controller.html',
+                    'controller': 'logController',
+                    authenticated: true
+                })
+                .when('/server-health/inventory-overview', {
+                    'templateUrl': 'server-health/controllers/inventory-overview-controller.html',
+                    'controller': 'inventoryOverviewController',
+                    authenticated: true
+                })
+                .when('/server-health/inventory', {
+                    'templateUrl': 'server-health/controllers/inventory-controller.html',
+                    'controller': 'inventoryController',
+                    authenticated: true
+                })
+                .when('/server-health/sensors-overview', {
+                    'templateUrl': 'server-health/controllers/sensors-overview-controller.html',
+                    'controller': 'sensorsOverviewController',
+                    authenticated: true
+                })
+                .when('/server-health/sensors', {
+                    'templateUrl': 'server-health/controllers/sensors-controller.html',
+                    'controller': 'sensorsController',
+                    authenticated: true
+                })
+                .when('/server-health/power-consumption', {
+                    'templateUrl': 'server-health/controllers/power-consumption-controller.html',
+                    'controller': 'powerConsumptionController',
+                    authenticated: true
+                })
+                .when('/server-health/unit-id', {
+                    'templateUrl': 'server-health/controllers/unit-id-controller.html',
+                    'controller': 'unitIdController',
+                    authenticated: true
+                })
+                .when('/server-health/diagnostics', {
+                    'templateUrl': 'server-health/controllers/diagnostics-controller.html',
+                    'controller': 'diagnosticsController',
+                    authenticated: true
+                })
+        }]);
+
+})(window.angular);
diff --git a/app/server-health/styles/diagnostics.scss b/app/server-health/styles/diagnostics.scss
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/app/server-health/styles/diagnostics.scss
diff --git a/app/server-health/styles/index.scss b/app/server-health/styles/index.scss
new file mode 100644
index 0000000..dd2e5b6
--- /dev/null
+++ b/app/server-health/styles/index.scss
@@ -0,0 +1,5 @@
+@import "./sensors.scss";
+@import "./inventory.scss";
+@import "./unit-id.scss";
+@import "./power-consumption.scss";
+@import "./diagnostics.scss";
diff --git a/app/server-health/styles/inventory.scss b/app/server-health/styles/inventory.scss
index 587292e..78fa1ad 100644
--- a/app/server-health/styles/inventory.scss
+++ b/app/server-health/styles/inventory.scss
@@ -140,8 +140,8 @@
   }
 }
 
-#back-link {
-  margin: 1em 0 0;
+.back-link {
+  margin: 1em 0 1em;
   a {
     text-decoration: none;
     position: relative;
@@ -193,7 +193,8 @@
   .accord-row {padding-left: 3.7em;}
   .header-row {
     background: $darkpurple;
-    padding-left: 3.7em;
+    padding-top: 1.5em;
+    padding-bottom: 0;
     .inv-active {
       color: $active;
     }
@@ -304,8 +305,6 @@
     }
   }
   .inv-event-log-row {
-    position: relative;
-    z-index: 100;
     border-top: 2px solid $lightgrey;
     margin-right: 3.7em;
     margin-left: 0;
diff --git a/app/server-health/styles/power-consumption.scss b/app/server-health/styles/power-consumption.scss
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/app/server-health/styles/power-consumption.scss
diff --git a/app/overview/styles/sensors.scss b/app/server-health/styles/sensors.scss
similarity index 100%
rename from app/overview/styles/sensors.scss
rename to app/server-health/styles/sensors.scss
diff --git a/app/overview/styles/unit-id.scss b/app/server-health/styles/unit-id.scss
similarity index 100%
rename from app/overview/styles/unit-id.scss
rename to app/server-health/styles/unit-id.scss
diff --git a/app/styles/index.scss b/app/styles/index.scss
index 32112de..ee57b61 100644
--- a/app/styles/index.scss
+++ b/app/styles/index.scss
@@ -2,4 +2,9 @@
 
 @import "../common/styles/index.scss";
 @import "../login/styles/index.scss";
-@import "../overview/styles/index.scss";
\ No newline at end of file
+@import "../overview/styles/index.scss";
+@import "../server-control/styles/index.scss";
+@import "../server-health/styles/index.scss";
+@import "../configuration/styles/index.scss";
+@import "../firmware/styles/index.scss";
+@import "../users/styles/index.scss";
\ No newline at end of file
diff --git a/app/users/controllers/user-accounts-controller.html b/app/users/controllers/user-accounts-controller.html
new file mode 100644
index 0000000..c62ec32
--- /dev/null
+++ b/app/users/controllers/user-accounts-controller.html
@@ -0,0 +1,5 @@
+<div id="user-accounts">
+    <div class="row column">
+        <h1>User accounts</h1>
+    </div>
+</div>
\ No newline at end of file
diff --git a/app/users/controllers/user-accounts-controller.js b/app/users/controllers/user-accounts-controller.js
new file mode 100644
index 0000000..2ac5ee0
--- /dev/null
+++ b/app/users/controllers/user-accounts-controller.js
@@ -0,0 +1,26 @@
+/**
+ * Controller for user Accounts
+ *
+ * @module app/users
+ * @exports userAccountsController
+ * @name userAccountsController
+ * @version 0.1.0
+ */
+
+window.angular && (function (angular) {
+    'use strict';
+
+    angular
+        .module('app.users')
+        .controller('userAccountsController', [
+            '$scope', 
+            '$window', 
+            'APIUtils', 
+            'dataService',
+            function($scope, $window, APIUtils, dataService){
+                $scope.dataService = dataService;
+            }
+        ]
+    );
+
+})(angular);
diff --git a/app/users/index.js b/app/users/index.js
new file mode 100644
index 0000000..6814d0d
--- /dev/null
+++ b/app/users/index.js
@@ -0,0 +1,33 @@
+/**
+ * A module for the users
+ *
+ * @module app/users/index
+ * @exports app/users/index
+ * @version 0.0.1
+ */
+
+window.angular && (function (angular) {
+    'use strict';
+
+    angular
+        .module('app.users', [
+            'ngRoute',
+            'app.constants',
+            'app.common.services'
+        ])
+        // Route configuration
+        .config(['$routeProvider', function ($routeProvider) {
+            $routeProvider
+                .when('/users/manage-user-accounts', {
+                    'templateUrl': 'users/controllers/user-accounts-controller.html',
+                    'controller': 'userAccountsController',
+                    authenticated: true
+                })
+                .when('/users', {
+                    'templateUrl': 'users/controllers/user-accounts-controller.html',
+                    'controller': 'userAccountsController',
+                    authenticated: true
+                });
+        }]);
+
+})(window.angular);
diff --git a/app/users/styles/index.scss b/app/users/styles/index.scss
new file mode 100644
index 0000000..5162e09
--- /dev/null
+++ b/app/users/styles/index.scss
@@ -0,0 +1 @@
+@import "./user-accounts.scss";
\ No newline at end of file
diff --git a/app/users/styles/user-accounts.scss b/app/users/styles/user-accounts.scss
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/app/users/styles/user-accounts.scss
