diff --git a/app.js b/app.js
index cdf61bc0e2bc411aad4cbc42170b8f5bc6af5c83..88f666b52c443e1da5a81665015c2cb744300ff6 100644
--- a/app.js
+++ b/app.js
@@ -18,3 +18,7 @@ require.config({
     "helper": []
   }
 })
+
+require(["main", "helper"], function (main) {
+  main()
+})
diff --git a/build.js b/build.js
index 7666ee6f92e1a6dccd48b7c811380ac38a1c62ce..021929a783108b8517c3fd317ddaf59c424eb05a 100644
--- a/build.js
+++ b/build.js
@@ -2,7 +2,7 @@
     baseUrl: "lib",
     name: "../bower_components/almond/almond",
     mainConfigFile: "app.js",
-    include: "main",
+    include: "../app",
     wrap: true,
     optimize: "uglify",
     out: "app-combined.js"
diff --git a/lib/main.js b/lib/main.js
index 652c8b63840fb85afff9d52c6e67f7bbc839b2af..b66bccd891b7249381dff7f20e051767daa60dac 100644
--- a/lib/main.js
+++ b/lib/main.js
@@ -1,8 +1,6 @@
-require(["config", "moment", "chroma-js", "router", "map", "sidebar", "tabs", "container", "meshstats", "linklist", "nodelist", "simplenodelist", "infobox/main", "helper"],
-function (Config, moment, chroma, Router, Map, Sidebar, Tabs, Container, Meshstats, Linklist, Nodelist, SimpleNodelist, Infobox) {
-  main(Config)
-
-  function main(config) {
+define(["config", "moment", "chroma-js", "router", "map", "sidebar", "tabs", "container", "meshstats", "linklist", "nodelist", "simplenodelist", "infobox/main"],
+function (config, moment, chroma, Router, Map, Sidebar, Tabs, Container, Meshstats, Linklist, Nodelist, SimpleNodelist, Infobox) {
+  return function () {
     var linklist, lostnodeslist, map, meshstats, newnodeslist, nodelist, router
 
     function createGUI() {