diff --git a/app/firmware/index.js b/app/firmware/index.js
index 9ac623b..3e4189c 100644
--- a/app/firmware/index.js
+++ b/app/firmware/index.js
@@ -5,33 +5,33 @@
  * @exports app/firmware/index
  */
 
-window.angular && (function (angular) {
-    'use strict';
+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', {
-                    'template': require('./controllers/bmc-controller.html'),
-                    'controller': 'bmcController',
-                    authenticated: true
-                })
-                .when('/firmware/server', {
-                    'template': require('./controllers/server-controller.html'),
-                    'controller': 'serverController',
-                    authenticated: true
-                })
-                .when('/firmware', {
-                    'template': reqire('./controllers/bmc-controller.html'),
-                    'controller': 'bmcController',
-                    authenticated: true
-                });
-        }]);
+  angular
+    .module('app.firmware', [
+      'ngRoute',
+      'app.constants',
+      'app.common.services'
+    ])
+    // Route configuration
+    .config(['$routeProvider', function($routeProvider) {
+      $routeProvider
+        .when('/firmware/bmc', {
+          'template': require('./controllers/bmc-controller.html'),
+          'controller': 'bmcController',
+          authenticated: true
+        })
+        .when('/firmware/server', {
+          'template': require('./controllers/server-controller.html'),
+          'controller': 'serverController',
+          authenticated: true
+        })
+        .when('/firmware', {
+          'template': reqire('./controllers/bmc-controller.html'),
+          'controller': 'bmcController',
+          authenticated: true
+        });
+    }]);
 
 })(window.angular);
