diff --git a/static/CMakeLists.txt b/static/CMakeLists.txt
index 645db9a..45795ef 100644
--- a/static/CMakeLists.txt
+++ b/static/CMakeLists.txt
@@ -5,18 +5,20 @@
     js/angular-cookies.js
     js/angular-websocket.js
     js/angular-ui-router.js
-    js/kvm-controller.js
-    js/logincontroller.js
+    js/kvmController.js
+    js/loginController.js
+    js/ipmiController.js
     js/angular-resource.js
     js/angular-sanitize.js
     js/bmcApp.js
+    js/base64.js
     js/angular-animate.js
     js/run_prettify.js
     js/angular.js
     js/versionController.js
     noVNC/utils/parse.js
-    noVNC/utils/inflator.partial.js
-    noVNC/karma.conf.js
+    //noVNC/utils/inflator.partial.js
+    //noVNC/karma.conf.js
     noVNC/include/inflator.js
     noVNC/include/keysym.js
     noVNC/include/chrome-app/tcp-client.js
@@ -42,53 +44,55 @@
     css/font-awesome.css
     css/bootstrap-theme.css
     css/prettify.css
-    noVNC/include/base.css
-    noVNC/include/blue.css
-    noVNC/include/black.css
+    //noVNC/include/base.css
+    //noVNC/include/blue.css
+    //noVNC/include/black.css
 )
 
 set(HTML_ASSETS
     index.html
-    login.html
+    partial-login.html
     partial-eventlog.html
     partial-fruinfo.html
     partial-home-list.html
+    partial-ipmi.html
     partial-kvm.html
     partial-systeminfo.html
-    websocket.html
 )
 
-set(IMG_ASSETS
+set(OTHER_ASSETS
     img/logo.png
+    fonts/fontawesome-webfont.woff
 )
 
 set(STATIC_ASSETS_OUT "")
 foreach(JAVASCRIPT_ASSET ${JAVASCRIPT_ASSETS})
     # if it's a debug build, don't minify
-    if (CMAKE_BUILD_TYPE STREQUAL "DEBUG")
+    if (CMAKE_BUILD_TYPE STREQUAL "Debug")
         list(APPEND STATIC_ASSETS_OUT ${CMAKE_CURRENT_SOURCE_DIR}/${JAVASCRIPT_ASSET})
     else()
         set(OUTPUT_FILENAME ${CMAKE_CURRENT_BINARY_DIR}/${JAVASCRIPT_ASSET})
         get_filename_component(FOLDERNAME ${OUTPUT_FILENAME} DIRECTORY)
+        # string(REGEX REPLACE "(\\.[^.]*$)" ".min\\1" OUTPUT_FILENAME ${OUTPUT_FILENAME})
         file(MAKE_DIRECTORY "${FOLDERNAME}")
         # TODO only minify if not a debug build
         add_custom_command(OUTPUT ${OUTPUT_FILENAME} 
             COMMAND closure-compiler --language_in=ECMASCRIPT5
             --js  "${CMAKE_CURRENT_SOURCE_DIR}/${JAVASCRIPT_ASSET}"
-            --js_output_file "${CMAKE_CURRENT_BINARY_DIR}/${JAVASCRIPT_ASSET}"
+            --js_output_file "${OUTPUT_FILENAME}"
              --compilation_level SIMPLE_OPTIMIZATIONS
              --angular_pass 
             DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/${JAVASCRIPT_ASSET}"
             COMMENT "Minifying ${JAVASCRIPT_ASSET}"
         )
-        list(APPEND STATIC_ASSETS_OUT ${CMAKE_CURRENT_BINARY_DIR}/${JAVASCRIPT_ASSET})
-    endif (CMAKE_BUILD_TYPE STREQUAL "DEBUG")
+        list(APPEND STATIC_ASSETS_OUT ${OUTPUT_FILENAME})
+    endif (CMAKE_BUILD_TYPE STREQUAL "Debug")
 endforeach(JAVASCRIPT_ASSET)
 
 # for now CSS is included as is
 foreach(CSS_ASSET ${CSS_ASSETS})
     # if it's a debug build, don't minify
-    if (CMAKE_BUILD_TYPE STREQUAL "DEBUG")
+    if (CMAKE_BUILD_TYPE STREQUAL "Debug")
         list(APPEND STATIC_ASSETS_OUT ${CMAKE_CURRENT_SOURCE_DIR}/${CSS_ASSET})
     else()
         set(OUTPUT_FILENAME ${CMAKE_CURRENT_BINARY_DIR}/${CSS_ASSET})
@@ -104,7 +108,7 @@
             COMMENT "Minifying ${CSS_ASSET}"
         )
         list(APPEND STATIC_ASSETS_OUT ${CMAKE_CURRENT_BINARY_DIR}/${CSS_ASSET})
-    endif (CMAKE_BUILD_TYPE STREQUAL "DEBUG")
+    endif (CMAKE_BUILD_TYPE STREQUAL "Debug")
     
 endforeach(CSS_ASSET)
 
@@ -114,9 +118,9 @@
 endforeach(HTML_ASSET)
 
 # for now IMG is included as is
-foreach(IMG_ASSET ${IMG_ASSETS})
-    list(APPEND STATIC_ASSETS_OUT ${CMAKE_CURRENT_SOURCE_DIR}/${IMG_ASSET})
-endforeach(IMG_ASSET)
+foreach(OTHER_ASSET ${OTHER_ASSETS})
+    list(APPEND STATIC_ASSETS_OUT ${CMAKE_CURRENT_SOURCE_DIR}/${OTHER_ASSET})
+endforeach(OTHER_ASSET)
 
 add_custom_target(minifyjs ALL DEPENDS ${STATIC_ASSETS_OUT})
 
@@ -125,8 +129,12 @@
 set(CXX_STATIC_ASSETS_OUTPUT_FILE ${CMAKE_BINARY_DIR}/generated/webassets.cpp)
 set(WEBASSET_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/../scripts/build_web_assets.py")
 
+if (CMAKE_BUILD_TYPE STREQUAL "Debug")
+    set(DEBUG_MODE "-d")
+endif()
+
 add_custom_command(OUTPUT ${CXX_STATIC_ASSETS_OUTPUT_FILE}
-    COMMAND ${WEBASSET_SCRIPT} 
+    COMMAND ${WEBASSET_SCRIPT} ${DEBUG_MODE}
         -o ${CXX_STATIC_ASSETS_OUTPUT_FILE} -i ${STATIC_ASSETS_OUT}
 
     DEPENDS ${STATIC_ASSETS_OUT} ${WEBASSET_SCRIPT}
