diff --git a/app/common/directives/log-filter.js b/app/common/directives/log-filter.js
index b760308..c9ac1d0 100644
--- a/app/common/directives/log-filter.js
+++ b/app/common/directives/log-filter.js
@@ -24,6 +24,13 @@
                     $scope.toggleSeverity = function(severity){
                         $scope.selectedSeverity[severity] = !$scope.selectedSeverity[severity];
 
+                        if(['high', 'medium', 'low'].indexOf(severity) > -1){
+                            if($scope.selectedSeverity[severity] == false){
+                                $scope.selectedSeverity.all = true;
+                                return;
+                            }
+                        }
+
                         if($scope.selectedSeverity.low && 
                            $scope.selectedSeverity.medium && 
                            $scope.selectedSeverity.high){
diff --git a/app/common/filters/index.js b/app/common/filters/index.js
index d1b4b44..26323fe 100644
--- a/app/common/filters/index.js
+++ b/app/common/filters/index.js
@@ -2,6 +2,14 @@
     'use strict';
 
     angular
-        .module('app.common.filters', []);
+        .module('app.common.filters', [])
+        .filter('unResolvedCount', function () {
+            return function (data) {
+               data = data.filter(function(item){
+                  return item.Resolved == 0;
+               });
+               return data.length;
+            }
+        });
 
 })(window.angular);
diff --git a/app/common/services/api-utils.js b/app/common/services/api-utils.js
index 0f3b729..4eb5e06 100644
--- a/app/common/services/api-utils.js
+++ b/app/common/services/api-utils.js
@@ -55,7 +55,8 @@
                   console.log(error);
                 });
               },
-              getLEDState: function(callback){
+              getLEDState: function(){
+                var deferred = $q.defer();
                 $http({
                   method: 'GET',
                   url: SERVICE.API_CREDENTIALS.host + "/xyz/openbmc_project/led/groups/enclosure_identify",
@@ -65,16 +66,14 @@
                   },
                   withCredentials: true
                 }).success(function(response){
-                      var json = JSON.stringify(response);
-                      var content = JSON.parse(json);
-                      if(callback){
-                        callback(content.data.Asserted);
-                      }else{
-                        return content.data.Asserted;
-                      }
+                    var json = JSON.stringify(response);
+                    var content = JSON.parse(json);
+                    deferred.resolve(content.data.Asserted);
                 }).error(function(error){
                   console.log(error);
+                  deferred.reject(error);
                 });
+                return deferred.promise;
               },
               login: function(username, password, callback){
                 $http({
@@ -314,7 +313,8 @@
                   }
                 });
               },
-              getLogs: function(callback){
+              getLogs: function(){
+                var deferred = $q.defer();
                 $http({
                   method: 'GET',
                   url: SERVICE.API_CREDENTIALS.host + "/xyz/openbmc_project/logging/enumerate",
@@ -359,14 +359,13 @@
                           }, content.data[key]));
                         }
                       }
-                      if(callback){
-                        callback(data, dataClone);
-                      }else{
-                        return data;
-                      }
+                      deferred.resolve({data: data, original: dataClone});
                 }).error(function(error){
                   console.log(error);
+                  deferred.reject(error);
                 });
+
+                return deferred.promise;
               },
               getAllSensorStatus: function(callback){
                 $http({
@@ -473,10 +472,10 @@
                   console.log(error);
                 });
               },
-              getFirmwares: function(callback){
+              getFirmwares: function(){
+                var deferred = $q.defer();
                 $http({
                   method: 'GET',
-                  //url: SERVICE.API_CREDENTIALS.mock_host + "/software",
                   url: SERVICE.API_CREDENTIALS.host + "/xyz/openbmc_project/software/enumerate",
                   headers: {
                       'Accept': 'application/json',
@@ -550,14 +549,18 @@
                           }
                         }
                       }
-                      if(callback){
-                        callback(data, bmcActiveVersion, hostActiveVersion);
-                      }else{
-                        return(data, bmcActiveVersion, hostActiveVersion);
-                      }
+
+                      deferred.resolve({
+                          data: data, 
+                          bmcActiveVersion: bmcActiveVersion, 
+                          hostActiveVersion: hostActiveVersion
+                      });
                 }).error(function(error){
                   console.log(error);
+                  deferred.reject(error);
                 });
+
+                return deferred.promise;
               },
               uploadImage: function(file, callback){
                 $http({
@@ -585,7 +588,8 @@
                   }
                 });
               },
-              getBMCEthernetInfo: function(callback){
+              getBMCEthernetInfo: function(){
+                var deferred = $q.defer();
                 $http({
                   method: 'GET',
                   url: SERVICE.API_CREDENTIALS.host + "/xyz/openbmc_project/inventory/system/chassis/motherboard/boxelder/bmc/ethernet",
@@ -595,18 +599,18 @@
                   },
                   withCredentials: true
                 }).success(function(response){
-                      var json = JSON.stringify(response);
-                      var content = JSON.parse(json);
-                      if(callback){
-                        callback(content.data);
-                      }else{
-                        return content.data;
-                      }
+                    var json = JSON.stringify(response);
+                    var content = JSON.parse(json);
+                    deferred.resolve(content.data);
                 }).error(function(error){
                   console.log(error);
+                  deferred.reject(error);
                 });
+
+                return deferred.promise;
               },
               getBMCInfo: function(callback){
+                var deferred = $q.defer();
                 $http({
                   method: 'GET',
                   url: SERVICE.API_CREDENTIALS.host + "/xyz/openbmc_project/inventory/system/chassis/motherboard/boxelder/bmc",
@@ -616,16 +620,14 @@
                   },
                   withCredentials: true
                 }).success(function(response){
-                      var json = JSON.stringify(response);
-                      var content = JSON.parse(json);
-                      if(callback){
-                        callback(content.data);
-                      }else{
-                        return content.data;
-                      }
+                    var json = JSON.stringify(response);
+                    var content = JSON.parse(json);
+                    deferred.resolve(content.data);
                 }).error(function(error){
                   console.log(error);
+                  deferred.reject(error);
                 });
+                return deferred.promise;
               },
               getHardwares: function(callback){
                 $http({
diff --git a/app/common/services/constants.js b/app/common/services/constants.js
index a610ba9..d51ee18 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.181.15',
+                    host: 'https://9.3.185.164',
                     mock_host: 'http://localhost:3000'
                 },
                 API_RESPONSE: {
diff --git a/app/configuration/controllers/firmware-controller.js b/app/configuration/controllers/firmware-controller.js
index 2bdfced..66c4297 100644
--- a/app/configuration/controllers/firmware-controller.js
+++ b/app/configuration/controllers/firmware-controller.js
@@ -112,10 +112,10 @@
                     };
 
                     $scope.loadFirmwares = function(){
-                        APIUtils.getFirmwares(function(data, bmcActiveVersion, hostActiveVersion){
-                           $scope.firmwares = data;
-                           $scope.bmcActiveVersion = bmcActiveVersion;
-                           $scope.hostActiveVersion = hostActiveVersion;
+                        APIUtils.getFirmwares().then(function(result){
+                           $scope.firmwares = result.data;
+                           $scope.bmcActiveVersion = result.bmcActiveVersion;
+                           $scope.hostActiveVersion = result.hostActiveVersion;
                         });
                     }
 
diff --git a/app/server-health/index.js b/app/server-health/index.js
index 6d00879..3c32065 100644
--- a/app/server-health/index.js
+++ b/app/server-health/index.js
@@ -23,6 +23,11 @@
                     'controller': 'logController',
                     authenticated: true
                 })
+                .when('/server-health/event-log/:type', {
+                    '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',
