diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 7f549ea8c42dbc7c3975313c7b48e217d2c7fc32..3fdf003c491f19b33e446cbaf4142ccc1ba5c644 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -56,6 +56,8 @@ dependencies {
     implementation(libs.androidx.ui.graphics)
     implementation(libs.androidx.ui.tooling.preview)
     implementation(libs.androidx.material3)
+    implementation(libs.androidx.navigation.runtime.ktx)
+    implementation(libs.androidx.navigation.compose)
     testImplementation(libs.junit)
     androidTestImplementation(libs.androidx.junit)
     androidTestImplementation(libs.androidx.espresso.core)
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 829b0ac5c149792d516e0235cf59cd9c4db06e8f..6c7e6cab950943cc83497c1a1c9786671d647c56 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -2,7 +2,7 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools">
 
-    <uses-permission android:name="android.permission.VIBRATE"/>
+    <uses-permission android:name="android.permission.VIBRATE" android:required="false"/>
     <uses-permission android:name="android.permission.WAKE_LOCK"/>
     <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
     <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
@@ -26,7 +26,6 @@
         <activity
             android:name=".MainActivity"
             android:exported="true"
-            android:label="@string/app_name"
             android:theme="@style/Theme.MyApplication">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
diff --git a/app/src/main/java/com/pomo/myapplication/CustomTimerDialog.kt b/app/src/main/java/com/pomo/myapplication/CustomTimerDialog.kt
new file mode 100644
index 0000000000000000000000000000000000000000..4d0e2d1cfda42be6897a89be635f55723009a223
--- /dev/null
+++ b/app/src/main/java/com/pomo/myapplication/CustomTimerDialog.kt
@@ -0,0 +1,51 @@
+package com.pomo.myapplication
+
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.Spacer
+import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.height
+import androidx.compose.foundation.text.KeyboardOptions
+import androidx.compose.material3.AlertDialog
+import androidx.compose.material3.Button
+import androidx.compose.material3.Text
+import androidx.compose.material3.TextField
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.text.input.KeyboardType
+import androidx.compose.ui.unit.dp
+
+@Composable
+fun CustomTimerDialog(
+    inputMinutes: String,
+    onMinutesChange: (String) -> Unit,
+    onConfirm: () -> Unit,
+    onDismiss: () -> Unit
+) {
+    AlertDialog(
+        onDismissRequest = onDismiss,
+        title = { Text(text = "Set Custom Timer") },
+        text = {
+            Column {
+                Text(text = "Enter the number of minutes:")
+                Spacer(modifier = Modifier.height(8.dp))
+                TextField(
+                    value = inputMinutes,
+                    onValueChange = onMinutesChange,
+                    modifier = Modifier.fillMaxWidth(),
+                    keyboardOptions = KeyboardOptions.Default.copy(keyboardType = KeyboardType.Number),
+                    placeholder = { Text(text = "Enter minutes") }
+                )
+            }
+        },
+        confirmButton = {
+            Button(onClick = onConfirm) {
+                Text(text = "OK")
+            }
+        },
+        dismissButton = {
+            Button(onClick = onDismiss) {
+                Text(text = "Cancel")
+            }
+        }
+    )
+}
diff --git a/app/src/main/java/com/pomo/myapplication/MainActivity.kt b/app/src/main/java/com/pomo/myapplication/MainActivity.kt
index ade1c93c54c331d7502222fbe9803d8422b0c2f8..835c6d09129720be76204f0faeec0cd72f7e26cf 100644
--- a/app/src/main/java/com/pomo/myapplication/MainActivity.kt
+++ b/app/src/main/java/com/pomo/myapplication/MainActivity.kt
@@ -6,31 +6,21 @@ import android.os.Bundle
 import androidx.activity.ComponentActivity
 import androidx.activity.compose.setContent
 import androidx.compose.foundation.layout.*
-import androidx.compose.foundation.text.KeyboardOptions
-import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.List
 import androidx.compose.material3.*
 import androidx.compose.runtime.*
-import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
-import androidx.compose.ui.graphics.Color
-import androidx.compose.ui.text.input.KeyboardType
-import androidx.compose.ui.unit.dp
-import androidx.core.app.ActivityCompat
-import com.pomo.myapplication.ui.theme.MotivationalQuotes
+import androidx.navigation.NavHostController
+import androidx.navigation.compose.NavHost
+import androidx.navigation.compose.composable
+import androidx.navigation.compose.rememberNavController
 import com.pomo.myapplication.ui.theme.MyApplicationTheme
-import com.pomo.myapplication.ui.theme.ToDoListScreen
-import kotlinx.coroutines.CoroutineScope
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.Job
-import kotlinx.coroutines.delay
-import kotlinx.coroutines.launch
+import com.pomo.myapplication.ui.theme.ToDoScreen
 
 class MainActivity : ComponentActivity() {
 
-    private val postNotificationsPermission = POST_NOTIFICATIONS
-    private lateinit var notificationHelper: NotificationHelper
-    private var timeLeftForNotification: String? = null
+    val postNotificationsPermission = POST_NOTIFICATIONS
+    lateinit var notificationHelper: NotificationHelper
+    var timeLeftForNotification: String? = null
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
@@ -42,14 +32,16 @@ class MainActivity : ComponentActivity() {
                     modifier = Modifier.fillMaxSize(),
                     color = MaterialTheme.colorScheme.background
                 ) {
-                    MainScreen()
+                    val navController = rememberNavController()
+                    SetupNavGraph(navController = navController)
                 }
             }
         }
     }
 
     companion object {
-        private const val PERMISSION_REQUEST_CODE = 1001
+        const val postNotificationsPermission: String = POST_NOTIFICATIONS
+        const val PERMISSION_REQUEST_CODE = 1001
     }
 
     override fun onRequestPermissionsResult(
@@ -60,7 +52,6 @@ class MainActivity : ComponentActivity() {
         super.onRequestPermissionsResult(requestCode, permissions, grantResults)
         if (requestCode == PERMISSION_REQUEST_CODE) {
             if ((grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED)) {
-                // Permission granted, show the notification if needed
                 timeLeftForNotification?.let {
                     notificationHelper.updateNotification()
                 }
@@ -71,259 +62,29 @@ class MainActivity : ComponentActivity() {
     }
 
     @Composable
-    fun MainScreen() {
-        var showToDoList by remember { mutableStateOf(false) }
-
-        if (showToDoList) {
-            ToDoListScreen()
-        } else {
-            TimerScreen(onToDoListClick = { showToDoList = true })
-        }
-    }
-
-    @Composable
-    fun TimerScreen(onToDoListClick: () -> Unit) {
-        var timeLeftInMillis by remember { mutableStateOf(25 * 60 * 1000L) }
-        var timerRunning by remember { mutableStateOf(false) }
-        var customMinutes by remember { mutableStateOf(0) }
-        val timeFormatted = remember(timeLeftInMillis) {
-            val minutes = (timeLeftInMillis / 1000) / 60
-            val seconds = (timeLeftInMillis / 1000) % 60
-            String.format("%02d:%02d", minutes, seconds)
-        }
-
-        var showDialog by remember { mutableStateOf(false) }
-        var inputMinutes by remember { mutableStateOf("") }
-
-        var job: Job? by remember { mutableStateOf(null) }
-
-        fun startTimer() {
-            job?.cancel()
-            job = CoroutineScope(Dispatchers.Main).launch {
-                timerRunning = true
-                notificationHelper.startTimerCountdown(timeLeftInMillis)
-                while (timeLeftInMillis > 0 && timerRunning) {
-                    delay(1000L)
-                    timeLeftInMillis -= 1000L
-                    // Update notification with the remaining time
-                    timeLeftForNotification = timeFormatted
-                    if (ActivityCompat.checkSelfPermission(
-                            this@MainActivity,
-                            postNotificationsPermission
-                        ) == PackageManager.PERMISSION_GRANTED
-                    ) {
-                        notificationHelper.updateNotification()
-                    }
-                }
-                if (timeLeftInMillis <= 0) {
-                    timerRunning = false
-                    notificationHelper.showTimerFinishedNotification()
-                }
-            }
-        }
-
-        fun stopTimer() {
-            job?.cancel()
-            timerRunning = false
-        }
-
-        fun resetTimer() {
-            job?.cancel()
-            timeLeftInMillis = 0
-            timerRunning = false
-        }
-
-        fun setTimer(minutes: Int) {
-            job?.cancel()
-            timeLeftInMillis = minutes * 60 * 1000L
-            timerRunning = false
-            notificationHelper.cancelNotification()
-        }
-
-        fun setCustomTimer() {
-            val minutes = inputMinutes.toIntOrNull() ?: 0
-            if (minutes > 0) {
-                customMinutes = minutes
-                setTimer(customMinutes)
-                showDialog = false
-            }
-        }
-
-        val motivationalQuote = remember { MotivationalQuotes.getRandomQuote() }
-
-        Box(
-            modifier = Modifier.fillMaxSize()
+    fun SetupNavGraph(navController: NavHostController) {
+        NavHost(
+            navController = navController,
+            startDestination = "timer_screen"
         ) {
-            Column(
-                modifier = Modifier
-                    .fillMaxSize()
-                    .padding(bottom = 80.dp), // Padding für den Floating Action Button
-                horizontalAlignment = Alignment.CenterHorizontally,
-                verticalArrangement = Arrangement.Center
-            ) {
-                Text(
-                    text = motivationalQuote,
-                    style = MaterialTheme.typography.titleLarge,
-                    color = Color.Gray,
-                    modifier = Modifier.padding(16.dp)
+            composable("timer_screen") {
+                TimerScreen(
+                    onToDoListClick = { navController.navigate("todo_screen") },
+                    notificationHelper = notificationHelper,
+                    activity = this@MainActivity
                 )
-
-                TimerDisplay(time = timeFormatted)
-                Spacer(modifier = Modifier.height(20.dp))
-                Row {
-                    Button(
-                        onClick = {
-                            if (ActivityCompat.checkSelfPermission(
-                                    this@MainActivity,
-                                    postNotificationsPermission
-                                ) == PackageManager.PERMISSION_GRANTED
-                            ) {
-                                startTimer()
-                            } else {
-                                ActivityCompat.requestPermissions(
-                                    this@MainActivity,
-                                    arrayOf(postNotificationsPermission),
-                                    PERMISSION_REQUEST_CODE
-                                )
-                            }
-                        },
-                        colors = ButtonDefaults.buttonColors(
-                            containerColor = Color(0xFF00AA07),
-                            contentColor = Color.White
-                        ),
-                        enabled = !timerRunning
-                    ) {
-                        Text(text = "Start")
-                    }
-                    Spacer(modifier = Modifier.width(8.dp))
-                    Button(
-                        onClick = { stopTimer() },
-                        colors = ButtonDefaults.buttonColors(
-                            containerColor = Color(0xFFD32F2F),
-                            contentColor = Color.White
-                        ),
-                        enabled = timerRunning
-                    ) {
-                        Text(text = "Pause")
-                    }
-                    Spacer(modifier = Modifier.width(8.dp))
-                    Button(onClick = { resetTimer() }) {
-                        Text(text = "Reset")
-                    }
-                }
-
-                Spacer(modifier = Modifier.height(20.dp))
-                Row {
-                    Button(
-                        onClick = { setTimer(5) },
-                        colors = ButtonDefaults.buttonColors(
-                            containerColor = Color(0xFF6650a4),
-                            contentColor = Color.White
-                        )
-                    ) {
-                        Text(text = "5 min")
-                    }
-
-                    Spacer(modifier = Modifier.width(8.dp))
-                    Button(
-                        onClick = { setTimer(15) },
-                        colors = ButtonDefaults.buttonColors(
-                            containerColor = Color(0xFF6650a4),
-                            contentColor = Color.White
-                        )
-                    ) {
-                        Text(text = "15 min")
-                    }
-
-                    Spacer(modifier = Modifier.width(8.dp))
-                    Button(
-                        onClick = { setTimer(25) },
-                        colors = ButtonDefaults.buttonColors(
-                            containerColor = Color(0xFF6650a4),
-                            contentColor = Color.White
-                        )
-                    ) {
-                        Text(text = "25 min")
-                    }
-                }
-
-                Spacer(modifier = Modifier.height(20.dp))
-
-                Spacer(modifier = Modifier.height(8.dp))
-                Button(onClick = { showDialog = true },
-                    colors = ButtonDefaults.buttonColors(
-                        containerColor = Color.Magenta,
-                        contentColor = Color.White
-                    )
-                ) {
-                    Text(text = "Set Custom Timer")
-                }
-
-                if (showDialog) {
-                    CustomTimerDialog(
-                        inputMinutes = inputMinutes,
-                        onMinutesChange = { inputMinutes = it },
-                        onConfirm = { setCustomTimer() },
-                        onDismiss = { showDialog = false }
-                    )
-                }
             }
-
-            FloatingActionButton(
-                onClick = onToDoListClick,
-                modifier = Modifier
-                    .align(Alignment.BottomEnd)
-                    .padding(16.dp)
-            ) {
-                Icon(
-                    imageVector = Icons.Filled.List,
-                    contentDescription = "To-Do List"
-                )
+            composable("todo_screen") {
+                ToDoScreen(onBackClick = { navController.navigateUp() })
             }
         }
     }
+}
 
-    @Composable
-    fun CustomTimerDialog(
-        inputMinutes: String,
-        onMinutesChange: (String) -> Unit,
-        onConfirm: () -> Unit,
-        onDismiss: () -> Unit
-    ) {
-        AlertDialog(
-            onDismissRequest = onDismiss,
-            title = { Text(text = "Set Custom Timer") },
-            text = {
-                Column {
-                    Text(text = "Enter the number of minutes:")
-                    Spacer(modifier = Modifier.height(8.dp))
-                    TextField(
-                        value = inputMinutes,
-                        onValueChange = onMinutesChange,
-                        modifier = Modifier.fillMaxWidth(),
-                        keyboardOptions = KeyboardOptions.Default.copy(keyboardType = KeyboardType.Number),
-                        placeholder = { Text(text = "Enter minutes") }
-                    )
-                }
-            },
-            confirmButton = {
-                Button(onClick = onConfirm) {
-                    Text(text = "OK")
-                }
-            },
-            dismissButton = {
-                Button(onClick = onDismiss) {
-                    Text(text = "Cancel")
-                }
-            }
-        )
-    }
-
-    @Composable
+@Composable
     fun TimerDisplay(time: String) {
         Text(
             text = time,
             style = MaterialTheme.typography.displayLarge
         )
     }
-}
diff --git a/app/src/main/java/com/pomo/myapplication/Permissions.kt b/app/src/main/java/com/pomo/myapplication/Permissions.kt
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/app/src/main/java/com/pomo/myapplication/TimerScreen.kt b/app/src/main/java/com/pomo/myapplication/TimerScreen.kt
new file mode 100644
index 0000000000000000000000000000000000000000..701b66e593aed8cc6c95adc79a033435110dc5d8
--- /dev/null
+++ b/app/src/main/java/com/pomo/myapplication/TimerScreen.kt
@@ -0,0 +1,222 @@
+package com.pomo.myapplication
+
+import android.content.pm.PackageManager
+import androidx.activity.ComponentActivity
+import androidx.compose.foundation.layout.*
+import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.filled.List
+import androidx.compose.material3.*
+import androidx.compose.runtime.*
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.unit.dp
+import androidx.core.app.ActivityCompat
+import com.pomo.myapplication.ui.theme.MotivationalQuotes
+import kotlinx.coroutines.*
+
+@Composable
+fun TimerScreen(
+    onToDoListClick: () -> Unit,
+    notificationHelper: NotificationHelper,
+    activity: ComponentActivity
+) {
+    var timeLeftInMillis by remember { mutableLongStateOf(25 * 60 * 1000L) }
+    var timerRunning by remember { mutableStateOf(false) }
+    var customMinutes by remember { mutableIntStateOf(0) }
+    val timeFormatted = remember(timeLeftInMillis) {
+        val minutes = (timeLeftInMillis / 1000) / 60
+        val seconds = (timeLeftInMillis / 1000) % 60
+        String.format("%02d:%02d", minutes, seconds)
+    }
+
+    var showDialog by remember { mutableStateOf(false) }
+    var inputMinutes by remember { mutableStateOf("") }
+
+    var job: Job? by remember { mutableStateOf(null) }
+
+    fun startTimer() {
+        job?.cancel()
+        job = CoroutineScope(Dispatchers.Main).launch {
+            timerRunning = true
+            notificationHelper.startTimerCountdown(timeLeftInMillis)
+            while (timeLeftInMillis > 0 && timerRunning) {
+                delay(1000L)
+                timeLeftInMillis -= 1000L
+                (activity as MainActivity).timeLeftForNotification = timeFormatted
+                if (ActivityCompat.checkSelfPermission(
+                        activity,
+                        activity.postNotificationsPermission
+                    ) == PackageManager.PERMISSION_GRANTED
+                ) {
+                    notificationHelper.updateNotification()
+                }
+            }
+            if (timeLeftInMillis <= 0) {
+                timerRunning = false
+                notificationHelper.showTimerFinishedNotification()
+            }
+        }
+    }
+
+    fun stopTimer() {
+        job?.cancel()
+        timerRunning = false
+    }
+
+    fun resetTimer() {
+        job?.cancel()
+        timeLeftInMillis = 0
+        timerRunning = false
+    }
+
+    fun setTimer(minutes: Int) {
+        job?.cancel()
+        timeLeftInMillis = minutes * 60 * 1000L
+        timerRunning = false
+        notificationHelper.cancelNotification()
+    }
+
+    fun setCustomTimer() {
+        val minutes = inputMinutes.toIntOrNull() ?: 0
+        if (minutes > 0) {
+            customMinutes = minutes
+            setTimer(customMinutes)
+            showDialog = false
+        }
+    }
+
+    val motivationalQuote = remember { MotivationalQuotes.getRandomQuote() }
+
+    Box(
+        modifier = Modifier.fillMaxSize()
+    ) {
+        Column(
+            modifier = Modifier
+                .fillMaxSize()
+                .padding(bottom = 80.dp),
+            horizontalAlignment = Alignment.CenterHorizontally,
+            verticalArrangement = Arrangement.Center
+        ) {
+            Text(
+                text = motivationalQuote,
+                style = MaterialTheme.typography.titleLarge,
+                color = Color.Gray,
+                modifier = Modifier.padding(16.dp)
+            )
+
+            TimerDisplay(time = timeFormatted)
+            Spacer(modifier = Modifier.height(20.dp))
+            Row {
+                Button(
+                    onClick = {
+                        if (ActivityCompat.checkSelfPermission(
+                                activity,
+                                MainActivity.postNotificationsPermission
+                            ) == PackageManager.PERMISSION_GRANTED
+                        ) {
+                            startTimer()
+                        } else {
+                            ActivityCompat.requestPermissions(
+                                activity,
+                                arrayOf(MainActivity.postNotificationsPermission),
+                                MainActivity.PERMISSION_REQUEST_CODE
+                            )
+                        }
+                    },
+                    colors = ButtonDefaults.buttonColors(
+                        containerColor = Color(0xFF00AA07),
+                        contentColor = Color.White
+                    ),
+                    enabled = !timerRunning
+                ) {
+                    Text(text = "Start")
+                }
+                Spacer(modifier = Modifier.width(8.dp))
+                Button(
+                    onClick = { stopTimer() },
+                    colors = ButtonDefaults.buttonColors(
+                        containerColor = Color(0xFFD32F2F),
+                        contentColor = Color.White
+                    ),
+                    enabled = timerRunning
+                ) {
+                    Text(text = "Pause")
+                }
+                Spacer(modifier = Modifier.width(8.dp))
+                Button(onClick = { resetTimer() }) {
+                    Text(text = "Reset")
+                }
+            }
+
+
+            Spacer(modifier = Modifier.height(20.dp))
+            Row {
+                Button(
+                    onClick = { setTimer(5) },
+                    colors = ButtonDefaults.buttonColors(
+                        containerColor = Color(0xFF6650a4),
+                        contentColor = Color.White
+                    )
+                ) {
+                    Text(text = "5 min")
+                }
+
+                Spacer(modifier = Modifier.width(8.dp))
+                Button(
+                    onClick = { setTimer(15) },
+                    colors = ButtonDefaults.buttonColors(
+                        containerColor = Color(0xFF6650a4),
+                        contentColor = Color.White
+                    )
+                ) {
+                    Text(text = "15 min")
+                }
+
+                Spacer(modifier = Modifier.width(8.dp))
+                Button(
+                    onClick = { setTimer(25) },
+                    colors = ButtonDefaults.buttonColors(
+                        containerColor = Color(0xFF6650a4),
+                        contentColor = Color.White
+                    )
+                ) {
+                    Text(text = "25 min")
+                }
+            }
+
+            Spacer(modifier = Modifier.height(20.dp))
+
+            Spacer(modifier = Modifier.height(8.dp))
+            Button(onClick = { showDialog = true },
+                colors = ButtonDefaults.buttonColors(
+                    containerColor = Color.Magenta,
+                    contentColor = Color.White
+                )
+            ) {
+                Text(text = "Set Custom Timer")
+            }
+
+            if (showDialog) {
+                CustomTimerDialog(
+                    inputMinutes = inputMinutes,
+                    onMinutesChange = { inputMinutes = it },
+                    onConfirm = { setCustomTimer() },
+                    onDismiss = { showDialog = false }
+                )
+            }
+        }
+
+        FloatingActionButton(
+            onClick = onToDoListClick,
+            modifier = Modifier
+                .align(Alignment.BottomEnd)
+                .padding(16.dp)
+        ) {
+            Icon(
+                imageVector = Icons.Filled.List,
+                contentDescription = "To-Do List"
+            )
+        }
+    }
+}
diff --git a/app/src/main/java/com/pomo/myapplication/ui/theme/ToDoList.kt b/app/src/main/java/com/pomo/myapplication/ui/theme/ToDoList.kt
index 74e5bda3c8199ee417349377a15ab9a4ceb5dd24..979b4cb0628d6c47ef945c804309f6fbdbe51d50 100644
--- a/app/src/main/java/com/pomo/myapplication/ui/theme/ToDoList.kt
+++ b/app/src/main/java/com/pomo/myapplication/ui/theme/ToDoList.kt
@@ -1,109 +1,57 @@
 package com.pomo.myapplication.ui.theme
 
 import androidx.compose.foundation.layout.*
-import androidx.compose.foundation.lazy.LazyColumn
-import androidx.compose.foundation.lazy.items
-import androidx.compose.foundation.text.BasicTextField
+import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.filled.ArrowBack
 import androidx.compose.material3.*
-import androidx.compose.runtime.*
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
-import androidx.compose.ui.unit.dp
 import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.unit.dp
 
-@Composable
-fun ToDoListScreen() {
-    var toDoItems by remember { mutableStateOf(listOf<String>()) }
-    var newToDoItem by remember { mutableStateOf("") }
-    var showAddDialog by remember { mutableStateOf(false) }
 
-    Column(
-        modifier = Modifier
-            .fillMaxSize()
-            .padding(16.dp),
-        verticalArrangement = Arrangement.spacedBy(8.dp)
+@Composable
+fun ToDoScreen(onBackClick: () -> Unit) {
+    Surface(
+        modifier = Modifier.fillMaxSize(),
+        color = MaterialTheme.colorScheme.background
     ) {
-        Text(
-            text = "To-Do List",
-            style = MaterialTheme.typography.headlineLarge
-        )
-
-        Button(onClick = { showAddDialog = true }) {
-            Text(text = "Add To-Do")
-        }
-
-        Spacer(modifier = Modifier.height(8.dp))
-
-        LazyColumn {
-            items(toDoItems) { item ->
-                Row(
-                    modifier = Modifier
-                        .fillMaxWidth()
-                        .padding(8.dp),
-                    horizontalArrangement = Arrangement.SpaceBetween
-                ) {
-                    Text(text = item)
-                    Button(onClick = { toDoItems = toDoItems - item }) {
-                        Text(text = "Delete")
-                    }
+        Column(
+            modifier = Modifier
+                .fillMaxSize()
+                .padding(16.dp),
+            horizontalAlignment = Alignment.CenterHorizontally,
+            verticalArrangement = Arrangement.Top
+        ) {
+            Row(
+                modifier = Modifier
+                    .fillMaxWidth(),
+                verticalAlignment = Alignment.CenterVertically
+            ) {
+                IconButton(onClick = onBackClick) {
+                    Icon(
+                        imageVector = Icons.Default.ArrowBack,
+                        contentDescription = "Back"
+                    )
                 }
+                Spacer(modifier = Modifier.weight(1f))
+                Text(
+                    text = "To-Do",
+                    style = MaterialTheme.typography.headlineMedium,
+                    modifier = Modifier.align(Alignment.CenterVertically)
+                )
+                Spacer(modifier = Modifier.weight(1f))
             }
-        }
 
-        if (showAddDialog) {
-            AddToDoDialog(
-                onDismiss = { showAddDialog = false },
-                onAdd = {
-                    if (newToDoItem.isNotBlank()) {
-                        toDoItems = toDoItems + newToDoItem
-                        newToDoItem = ""
-                        showAddDialog = false
-                    }
-                },
-                newToDoItem = newToDoItem,
-                onNewToDoItemChange = { newToDoItem = it }
-            )
-        }
-    }
-}
+            Spacer(modifier = Modifier.height(20.dp))
 
-@Composable
-fun AddToDoDialog(
-    onDismiss: () -> Unit,
-    onAdd: () -> Unit,
-    newToDoItem: String,
-    onNewToDoItemChange: (String) -> Unit
-) {
-    AlertDialog(
-        onDismissRequest = onDismiss,
-        title = { Text(text = "Add To-Do") },
-        text = {
-            Column {
-                Text(text = "Enter the to-do item:")
-                Spacer(modifier = Modifier.height(8.dp))
-                BasicTextField(
-                    value = newToDoItem,
-                    onValueChange = onNewToDoItemChange,
-                    modifier = Modifier
-                        .fillMaxWidth()
-                        .padding(8.dp)
-                )
-            }
-        },
-        confirmButton = {
-            Button(onClick = onAdd) {
-                Text(text = "Add")
-            }
-        },
-        dismissButton = {
-            Button(onClick = onDismiss) {
-                Text(text = "Cancel")
-            }
         }
-    )
+    }
 }
 
 @Preview(showBackground = true)
 @Composable
 fun PreviewToDoListScreen() {
-    ToDoListScreen()
+    ToDoScreen(onBackClick = {})
 }
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 32534ebb2598d9340176045903cfdae498fa8c98..8ec8ae2c03e9c6fdd5b59934684e064a62ac9e3c 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -8,6 +8,8 @@ espressoCore = "3.5.1"
 lifecycleRuntimeKtx = "2.6.1"
 activityCompose = "1.7.0"
 composeBom = "2023.08.00"
+navigationRuntimeKtx = "2.7.7"
+navigationCompose = "2.7.7"
 
 [libraries]
 androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
@@ -24,6 +26,8 @@ androidx-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-toolin
 androidx-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" }
 androidx-ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4" }
 androidx-material3 = { group = "androidx.compose.material3", name = "material3" }
+androidx-navigation-runtime-ktx = { group = "androidx.navigation", name = "navigation-runtime-ktx", version.ref = "navigationRuntimeKtx" }
+androidx-navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version.ref = "navigationCompose" }
 
 [plugins]
 androidApplication = { id = "com.android.application", version.ref = "agp" }