diff --git a/demo/demo/main.cpp b/demo/demo/main.cpp
index 30aadf558621c5f9329471119549fc0db3f4e0a6..8d025d887e738569ada36e6bd9b4e755ef2c34a8 100644
--- a/demo/demo/main.cpp
+++ b/demo/demo/main.cpp
@@ -79,13 +79,15 @@ static void setupServiceLocators(fggl::util::ServiceLocator& locator) {
 }
 
 int main(int argc, const char* argv[]) {
-    fggl::App app( "fggl-demo" );
 
 	auto& locator = fggl::util::ServiceLocator::instance();
 	setupServiceLocators(locator);
 
-    // Would be nice to not take args like this, it messes with lifetimes
-    auto& windowing = app.use<fggl::gfx::ecsGlfwModule>(locator.get<fggl::input::Input>());
+	// create the application
+	fggl::App app( "fggl-demo" );
+
+	// Would be nice to not take args like this, it messes with lifetimes
+	auto& windowing = app.use<fggl::gfx::ecsGlfwModule>(locator.get<fggl::input::Input>());
 
     // -- should not be our problem - this is a broken api
     auto window = windowing.createWindow("Demo Game");
@@ -101,11 +103,13 @@ int main(int argc, const char* argv[]) {
 
 	// Add a basic main menu
     auto *menu = app.add_state<fggl::scenes::BasicMenu>("menu");
-    menu->add("start", [&app]() { app.change_state("game"); });
+
+	// add some menu items for the game states
+    menu->add("terrain", [&app]() { app.change_state("game"); });
 	menu->add("rollball", [&app]() { app.change_state("rollball"); });
 	menu->add("quit", [&app]() { app.running(false); });
 
-	// the game state itself
+	// the game states themselves
     app.add_state<GameScene>("game");
 	app.add_state<demo::RollBall>("rollball");