diff --git a/gulp/build.js b/gulp/build.js
index 8dcf45f..74e26e8 100644
--- a/gulp/build.js
+++ b/gulp/build.js
@@ -117,7 +117,7 @@
     .pipe($.uglify({preserveComments: $.uglifySaveLicense}))
     .pipe(jsFilter.restore)
     .pipe(cssFilter)
-    .pipe($.replace('bower_components/bootstrap-sass-official/assets/fonts/bootstrap','fonts'))
+    .pipe($.replace('bower_components/bootstrap-sass-official/assets/fonts/bootstrap','styles/fonts'))
     .pipe($.csso())
     .pipe(cssFilter.restore)
     .pipe($.useref())
@@ -147,7 +147,7 @@
   return gulp.src($.mainBowerFiles())
     .pipe($.filter('**/*.{eot,svg,ttf,woff,woff2}'))
     .pipe($.flatten())
-    .pipe(gulp.dest('dist/fonts/'));
+    .pipe(gulp.dest('dist/styles/fonts/'));
 });
 
 gulp.task('misc', function () {
diff --git a/gulp/wiredep.js b/gulp/wiredep.js
index bab2830..9b75b56 100644
--- a/gulp/wiredep.js
+++ b/gulp/wiredep.js
@@ -1,4 +1,4 @@
-/* 
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -6,9 +6,9 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- * 
+ *
  *   http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -27,7 +27,7 @@
   return gulp.src('src/index.html')
     .pipe(wiredep({
       directory: 'bower_components',
-      exclude: [/bootstrap-sass-official/, /bootstrap.css/]
+      exclude: [/bootstrap-sass-official/, /bootstrap.css/, /font-awesome/]
     }))
     .pipe(gulp.dest('src'));
 });
diff --git a/src/app/index.scss b/src/app/index.scss
index fc02bbe..11f6e5e 100644
--- a/src/app/index.scss
+++ b/src/app/index.scss
@@ -1,69 +1,69 @@
-.browsehappy {
-  margin: 0.2em 0;
-  background: #ccc;
-  color: #000;
-  padding: 0.2em 0;
-}
-
-.thumbnail {
-  height: 200px;
-
-  img.pull-right {
-    width: 50px;
-  }
-}
-
-.st-sort-ascent:before{
-    content: '\25B2';
-}
-
-.st-sort-descent:before{
-    content: '\25BC';
-}
-
-.footer {
-  position: absolute;
-  bottom: 0;
-  width: 100%;
-  /* Set the fixed height of the footer here */
-  height: 25px;
-  background-color: #f5f5f5;
-}
-
-.modal-backdrop{
-  bottom: 0
-}
-
-.navbar-nav li:hover {
-    cursor: pointer;
-}
-
-// auto height in ace editor.
-.ace_editor {
-  min-height: 20px;
-  height: auto;
-}
-
-.btn-file {
-    position: relative;
-    overflow: hidden;
-    display: block;
-}
-.btn-file input[type=file] {
-    position: absolute;
-    top: 0;
-    right: 0;
-    min-width: 100%;
-    min-height: 100%;
-    font-size: 100px;
-    text-align: right;
-    filter: alpha(opacity=0);
-    opacity: 0;
-    outline: none;
-    background: white;
-    cursor: inherit;
-    display: block;
-}
-
-// injector
-// endinjector
+.browsehappy {
+  margin: 0.2em 0;
+  background: #ccc;
+  color: #000;
+  padding: 0.2em 0;
+}
+
+.thumbnail {
+  height: 200px;
+
+  img.pull-right {
+    width: 50px;
+  }
+}
+
+.st-sort-ascent:before{
+    content: '\25B2';
+}
+
+.st-sort-descent:before{
+    content: '\25BC';
+}
+
+.footer {
+  position: absolute;
+  bottom: 0;
+  width: 100%;
+  /* Set the fixed height of the footer here */
+  height: 25px;
+  background-color: #f5f5f5;
+}
+
+.modal-backdrop{
+  bottom: 0
+}
+
+.navbar-nav li:hover {
+    cursor: pointer;
+}
+
+// auto height in ace editor.
+.ace_editor {
+  min-height: 20px;
+  height: auto;
+}
+
+.btn-file {
+    position: relative;
+    overflow: hidden;
+    display: block;
+}
+.btn-file input[type=file] {
+    position: absolute;
+    top: 0;
+    right: 0;
+    min-width: 100%;
+    min-height: 100%;
+    font-size: 100px;
+    text-align: right;
+    filter: alpha(opacity=0);
+    opacity: 0;
+    outline: none;
+    background: white;
+    cursor: inherit;
+    display: block;
+}
+
+// injector
+// endinjector
diff --git a/src/app/vendor.scss b/src/app/vendor.scss
index 95675a3..fa1e69c 100644
--- a/src/app/vendor.scss
+++ b/src/app/vendor.scss
@@ -1,8 +1,10 @@
 $icon-font-path: "../bower_components/bootstrap-sass-official/assets/fonts/bootstrap/";
 
 $font-family-base: 'Roboto Slab', serif;
+$fa-font-path:        "fonts" !default;
 
 @import '../../bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap';
+@import '../../bower_components/font-awesome/scss/font-awesome';
 
 // custom instance labels
 .label-instance-active {
diff --git a/src/index.html b/src/index.html
index a1bcec8..9332de9 100644
--- a/src/index.html
+++ b/src/index.html
@@ -6,17 +6,16 @@
     <meta name="description" content="">
     <meta name="viewport" content="width=device-width">
     <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
-    
+
     <!-- build:css({.tmp,src}) styles/vendor.css -->
     <link rel="stylesheet" href="app/vendor.css">
     <!-- bower:css -->
     <link rel="stylesheet" href="../bower_components/ngtoast/dist/ngToast.css" />
-    <link rel="stylesheet" href="../bower_components/font-awesome/css/font-awesome.css" />
     <link rel="stylesheet" href="../bower_components/angular-loading-bar/build/loading-bar.css" />
     <link rel="stylesheet" href="../bower_components/roboto-slab-fontface/roboto-slab-fontface.css" />
     <!-- endbower -->
     <!-- endbuild -->
-    
+
 
     <!-- build:css({.tmp,src}) styles/app.css -->
     <!-- inject:css -->
@@ -67,6 +66,7 @@
     <script src="app/st-select.directive.js"></script>
     <script src="vendor/jquery.xpath.js"></script>
     <script src="vendor/vkbeautify.js"></script>
+    <script src="components/navbar/navbar.controller.js"></script>
     <script src="app/dashboard/dashboard.controller.js"></script>
     <script src="app/process/process.controller.js"></script>
     <script src="app/process/process.service.js"></script>
@@ -76,7 +76,6 @@
     <script src="app/instance/instance.service.js"></script>
     <script src="app/instance/instanceactions.controller.js"></script>
     <script src="app/instance/instancelist.controller.js"></script>
-    <script src="components/navbar/navbar.controller.js"></script>
     <!-- endinject -->
 
     <!-- inject:partials -->
