diff --git a/app/src/main/java/de/ccc/events/badge/card10/main/MainFragment.kt b/app/src/main/java/de/ccc/events/badge/card10/main/MainFragment.kt
index 16a22357532dff6ffd7e25c84176083351e62885..bd5454df882086d917b9916785f76775bb904b41 100644
--- a/app/src/main/java/de/ccc/events/badge/card10/main/MainFragment.kt
+++ b/app/src/main/java/de/ccc/events/badge/card10/main/MainFragment.kt
@@ -32,7 +32,7 @@ import androidx.constraintlayout.widget.ConstraintLayout
 import androidx.fragment.app.Fragment
 import de.ccc.events.badge.card10.CARD10_BLUETOOTH_MAC_PREFIX
 import de.ccc.events.badge.card10.R
-import de.ccc.events.badge.card10.common.ConnectionService
+import de.ccc.events.badge.card10.hatchery.AppListFragment
 import de.ccc.events.badge.card10.mood.MoodFragment
 import de.ccc.events.badge.card10.scanner.ScannerFragment
 import kotlinx.android.synthetic.main.main_fragment.*
@@ -61,18 +61,16 @@ class MainFragment : Fragment() {
             showDisconnectedView(view)
         }
 
-        button_pair.setOnClickListener {
-            fragmentManager!!.beginTransaction()
-                .replace(R.id.fragment_container, ScannerFragment())
-                .addToBackStack(null)
-                .commit()
-        }
-        button_mood.setOnClickListener {
-            fragmentManager!!.beginTransaction()
-                .replace(R.id.fragment_container, MoodFragment())
-                .addToBackStack(null)
-                .commit()
-        }
+        button_pair.setOnClickListener { startFragment(ScannerFragment()) }
+        button_mood.setOnClickListener { startFragment(MoodFragment()) }
+        button_hatchery.setOnClickListener { startFragment(AppListFragment()) }
+    }
+
+    private fun startFragment(fragment: Fragment) {
+        fragmentManager!!.beginTransaction()
+            .replace(R.id.fragment_container, fragment)
+            .addToBackStack(null)
+            .commit()
     }
 
     private fun showConnectedView(view: View) {