incremental
diff --git a/static/js/bmcApp.js b/static/js/bmcApp.js
index 64a480a..d4282ba 100644
--- a/static/js/bmcApp.js
+++ b/static/js/bmcApp.js
@@ -11,9 +11,9 @@
 ]);
 
 
-app.controller('MainCtrl', function($scope) {
+app.controller('MainCtrl', ['$scope', function($scope) {
 
-});
+}]);
 
 app.service('loginInterceptor', ["$injector",
   function($injector) {
@@ -37,7 +37,7 @@
           }
           AuthenticationService.ClearCredentials(invalidate_reason);
         }
-
+        return response;
     };
 }])
 
@@ -45,7 +45,7 @@
     $httpProvider.interceptors.push('loginInterceptor');
 }]);
 
-app.directive('windowSize', function ($window) {
+app.directive('windowSize', ['$window', function ($window) {
   return function (scope, element) {
     var w = angular.element($window);
     scope.getWindowDimensions = function () {
@@ -69,7 +69,7 @@
         scope.$apply();
     });
   }
-});
+}]);
 
 app.run(['$rootScope', '$cookieStore', '$state', '$resource', 'AuthenticationService',
   function($rootScope, $cookieStore, $state, $resource, AuthenticationService) {
@@ -103,7 +103,7 @@
       // nested list with just some random string data
       .state('login', {
         url: '/login',
-        templateUrl: 'static/login.html',
+        templateUrl: 'static/partial-login.html',
         controller: 'LoginController',
       })
       // systeminfo view ========================================
@@ -120,6 +120,9 @@
       .state(
           'kvm', {url: '/kvm', templateUrl: 'static/partial-kvm.html'})
 
+      .state(
+          'ipmi', {url: '/ipmi', templateUrl: 'static/partial-ipmi.html'})
+
       // ABOUT PAGE AND MULTIPLE NAMED VIEWS =================================
       .state('about', {url: '/about', templateUrl: 'static/partial-fruinfo.html'})
 
@@ -192,89 +195,4 @@
             service.logoutreason = "";
             return service;
           }
-        ])
-
-    .factory('Base64', function() {
-      /* jshint ignore:start */
-
-      var keyStr =
-          'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
-
-      return {
-        encode: function(input) {
-          var output = "";
-          var chr1, chr2, chr3 = "";
-          var enc1, enc2, enc3, enc4 = "";
-          var i = 0;
-
-          do {
-            chr1 = input.charCodeAt(i++);
-            chr2 = input.charCodeAt(i++);
-            chr3 = input.charCodeAt(i++);
-
-            enc1 = chr1 >> 2;
-            enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
-            enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
-            enc4 = chr3 & 63;
-
-            if (isNaN(chr2)) {
-              enc3 = enc4 = 64;
-            } else if (isNaN(chr3)) {
-              enc4 = 64;
-            }
-
-            output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) +
-                keyStr.charAt(enc3) + keyStr.charAt(enc4);
-            chr1 = chr2 = chr3 = "";
-            enc1 = enc2 = enc3 = enc4 = "";
-          } while (i < input.length);
-
-          return output;
-        },
-
-        decode: function(input) {
-          var output = "";
-          var chr1, chr2, chr3 = "";
-          var enc1, enc2, enc3, enc4 = "";
-          var i = 0;
-
-          // remove all characters that are not A-Z, a-z, 0-9, +, /, or =
-          var base64test = /[^A-Za-z0-9\+\/\=]/g;
-          if (base64test.exec(input)) {
-            window.alert(
-                "There were invalid base64 characters in the input text.\n" +
-                "Valid base64 characters are A-Z, a-z, 0-9, '+', '/',and '='\n" +
-                "Expect errors in decoding.");
-          }
-          input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
-
-          do {
-            enc1 = keyStr.indexOf(input.charAt(i++));
-            enc2 = keyStr.indexOf(input.charAt(i++));
-            enc3 = keyStr.indexOf(input.charAt(i++));
-            enc4 = keyStr.indexOf(input.charAt(i++));
-
-            chr1 = (enc1 << 2) | (enc2 >> 4);
-            chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
-            chr3 = ((enc3 & 3) << 6) | enc4;
-
-            output = output + String.fromCharCode(chr1);
-
-            if (enc3 != 64) {
-              output = output + String.fromCharCode(chr2);
-            }
-            if (enc4 != 64) {
-              output = output + String.fromCharCode(chr3);
-            }
-
-            chr1 = chr2 = chr3 = "";
-            enc1 = enc2 = enc3 = enc4 = "";
-
-          } while (i < input.length);
-
-          return output;
-        }
-      };
-
-      /* jshint ignore:end */
-    });
+        ]);