diff --git a/src/main/kotlin/xyz/atnrch/wrench/components/WrenchScaffold.kt b/src/main/kotlin/xyz/atnrch/wrench/components/WrenchScaffold.kt
index 947f0ac..211c028 100644
--- a/src/main/kotlin/xyz/atnrch/wrench/components/WrenchScaffold.kt
+++ b/src/main/kotlin/xyz/atnrch/wrench/components/WrenchScaffold.kt
@@ -3,8 +3,12 @@ package xyz.atnrch.wrench.components
 import androidx.compose.material.Scaffold
 import androidx.compose.material.ScaffoldState
 import androidx.compose.material.rememberScaffoldState
-import androidx.compose.runtime.*
-import xyz.atnrch.wrench.components.center.AddButton
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.mutableStateMapOf
+import androidx.compose.runtime.remember
+import androidx.compose.runtime.rememberCoroutineScope
+import xyz.atnrch.wrench.components.bottom.BottomAppBar
+import xyz.atnrch.wrench.components.bottom.FloatingButton
 import xyz.atnrch.wrench.components.top.TopBar
 import xyz.atnrch.wrench.compose.SnackBarDataHolder
 import xyz.atnrch.wrench.watcher.Watcher
@@ -18,14 +22,12 @@ fun WrenchScaffold() {
     val snackBarDataHolder = SnackBarDataHolder(scaffoldState, rememberCoroutineScope())
     val watcherManager = remember { WatcherManager(entries) }
     val watcher = remember { Watcher(watcherManager, snackBarDataHolder) }
-    var watcherState by remember { mutableStateOf(false) }
 
     Scaffold(
         scaffoldState = scaffoldState,
         topBar = { TopBar() },
-        floatingActionButton = { AddButton(watcherManager) },
+        floatingActionButton = { FloatingButton(watcherManager) },
         isFloatingActionButtonDocked = true,
-        bottomBar = { BottomAppBar(watcher, watcherState, snackBarDataHolder) { watcherState = it } }
+        bottomBar = { BottomAppBar(watcher) }
     ) { WatcherDisplay(watcherManager) }
-
 }
\ No newline at end of file
diff --git a/src/main/kotlin/xyz/atnrch/wrench/components/bottom/BottomBar.kt b/src/main/kotlin/xyz/atnrch/wrench/components/bottom/BottomBar.kt
index 32a95b4..72f01d6 100644
--- a/src/main/kotlin/xyz/atnrch/wrench/components/bottom/BottomBar.kt
+++ b/src/main/kotlin/xyz/atnrch/wrench/components/bottom/BottomBar.kt
@@ -1,27 +1,19 @@
-package xyz.atnrch.wrench.components
+package xyz.atnrch.wrench.components.bottom
 
 import androidx.compose.foundation.shape.CornerSize
 import androidx.compose.material.MaterialTheme
 import androidx.compose.runtime.Composable
-import androidx.compose.ui.Modifier
-import androidx.compose.ui.draw.shadow
-import androidx.compose.ui.unit.dp
-import xyz.atnrch.wrench.compose.SnackBarDataHolder
 import xyz.atnrch.wrench.ui.UIColors
 import xyz.atnrch.wrench.watcher.Watcher
 
 @Composable
 fun BottomAppBar(
-    watcher: Watcher,
-    state: Boolean,
-    snackBarDataHolder: SnackBarDataHolder,
-    onStateChange: (state: Boolean) -> Unit
+    watcher: Watcher
 ) {
     androidx.compose.material.BottomAppBar(
         cutoutShape = MaterialTheme.shapes.small.copy(
             CornerSize(percent = 50)
         ),
-        backgroundColor = UIColors.PRIMARY,
-        modifier = Modifier.shadow(20.dp, MaterialTheme.shapes.small, true)
-    ) { BottomRow(watcher, state, onStateChange, snackBarDataHolder) }
+        backgroundColor = UIColors.PRIMARY
+    ) { BottomRowNew(watcher) }
 }
\ No newline at end of file
diff --git a/src/main/kotlin/xyz/atnrch/wrench/components/center/FloatingAddButton.kt b/src/main/kotlin/xyz/atnrch/wrench/components/bottom/FloatingAddButton.kt
similarity index 67%
rename from src/main/kotlin/xyz/atnrch/wrench/components/center/FloatingAddButton.kt
rename to src/main/kotlin/xyz/atnrch/wrench/components/bottom/FloatingAddButton.kt
index 1335797..c45f29e 100644
--- a/src/main/kotlin/xyz/atnrch/wrench/components/center/FloatingAddButton.kt
+++ b/src/main/kotlin/xyz/atnrch/wrench/components/bottom/FloatingAddButton.kt
@@ -1,20 +1,24 @@
-package xyz.atnrch.wrench.components.center
+package xyz.atnrch.wrench.components.bottom
 
+import androidx.compose.foundation.border
 import androidx.compose.foundation.layout.size
+import androidx.compose.foundation.shape.CornerSize
 import androidx.compose.material.FloatingActionButton
 import androidx.compose.material.Icon
+import androidx.compose.material.MaterialTheme
 import androidx.compose.material.icons.Icons
 import androidx.compose.material.icons.rounded.PostAdd
 import androidx.compose.runtime.Composable
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.unit.dp
+import xyz.atnrch.wrench.components.center.showFilePicker
 import xyz.atnrch.wrench.logger.Logger
 import xyz.atnrch.wrench.ui.UIColors
 import xyz.atnrch.wrench.watcher.WatcherManager
 
 @Composable
-fun AddButton(
+fun FloatingButton(
     watcherManager: WatcherManager
 ) {
     FloatingActionButton(
@@ -27,12 +31,19 @@ fun AddButton(
             })
         },
         backgroundColor = UIColors.PRIMARY,
+        modifier = Modifier.border(
+            4.dp,
+            UIColors.ORANGE,
+            MaterialTheme.shapes.small.copy(
+                CornerSize(percent = 50)
+            )
+        )
     ) {
         Icon(
             Icons.Rounded.PostAdd,
             tint = Color.White,
             contentDescription = "Add file...",
-            modifier = Modifier.size(28.dp)
+            modifier = Modifier.size(32.dp)
         )
     }
 }
\ No newline at end of file
diff --git a/src/main/kotlin/xyz/atnrch/wrench/components/bottom/WatcherStatusButton.kt b/src/main/kotlin/xyz/atnrch/wrench/components/bottom/WatcherStatusButton.kt
index c869ce9..4d65027 100644
--- a/src/main/kotlin/xyz/atnrch/wrench/components/bottom/WatcherStatusButton.kt
+++ b/src/main/kotlin/xyz/atnrch/wrench/components/bottom/WatcherStatusButton.kt
@@ -1,10 +1,9 @@
-package xyz.atnrch.wrench.components
+package xyz.atnrch.wrench.components.bottom
 
 import androidx.compose.foundation.BorderStroke
 import androidx.compose.foundation.layout.PaddingValues
 import androidx.compose.foundation.layout.Spacer
 import androidx.compose.foundation.layout.size
-import androidx.compose.foundation.layout.width
 import androidx.compose.foundation.shape.RoundedCornerShape
 import androidx.compose.material.Button
 import androidx.compose.material.ButtonDefaults
@@ -13,72 +12,15 @@ import androidx.compose.material.Text
 import androidx.compose.material.icons.Icons
 import androidx.compose.material.icons.filled.Update
 import androidx.compose.runtime.Composable
-import androidx.compose.runtime.remember
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.draw.shadow
 import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.unit.dp
-import xyz.atnrch.wrench.compose.SnackBarDataHolder
 import xyz.atnrch.wrench.ui.UIColors
 import xyz.atnrch.wrench.watcher.Watcher
 
 @Composable
-fun BottomRow(
-    watcher: Watcher,
-    state: Boolean,
-    onStateChange: (state: Boolean) -> Unit,
-    snackBarDataHolder: SnackBarDataHolder
-) {
-    val buttonColors = remember { arrayOf(UIColors.WATCHER_START_BG) }
-
-    Spacer(Modifier.width(5.dp))
-    /*Button(
-        {
-            if (state) {
-                buttonColors[0] = UIColors.WATCHER_START_BG
-                run { watcher.stop() }
-                onStateChange(false)
-                snackBarDataHolder.coroutineScope.launch {
-                    snackBarDataHolder.scaffoldState.snackbarHostState.currentSnackbarData?.dismiss()
-                    snackBarDataHolder.scaffoldState.snackbarHostState.showSnackbar(
-                        message = "Stopped Watcher.",
-                        duration = SnackbarDuration.Short,
-                    )
-                }
-            } else {
-                buttonColors[0] = UIColors.WATCHER_STOP_BG
-                run { watcher.start() }
-                onStateChange(true)
-                snackBarDataHolder.coroutineScope.launch {
-                    snackBarDataHolder.scaffoldState.snackbarHostState.currentSnackbarData?.dismiss()
-                    snackBarDataHolder.scaffoldState.snackbarHostState.showSnackbar(
-                        message = "Started Watcher.",
-                        duration = SnackbarDuration.Short
-                    )
-                }
-            }
-        },
-        colors = ButtonDefaults.buttonColors(buttonColors[0], Color.White),
-        contentPadding = ButtonDefaults.ContentPadding,
-        shape = RoundedCornerShape(100),
-        modifier = Modifier.shadow(15.dp, RoundedCornerShape(100), false)
-    ) {
-        if (state) {
-            Icon(
-                Icons.Filled.Close,
-                tint = UIColors.WATCHER_STOP_FG,
-                contentDescription = "Stop",
-                modifier = Modifier.size(28.dp)
-            )
-        } else {
-            Icon(
-                Icons.Filled.PlayArrow,
-                tint = UIColors.WATCHER_START_FG,
-                contentDescription = "Start",
-                modifier = Modifier.size(28.dp)
-            )
-        }
-    }*/
+fun BottomRowNew(watcher: Watcher) {
     Button(
         onClick = { watcher.move() },
         colors = ButtonDefaults.buttonColors(UIColors.PRIMARY, Color.White),
@@ -101,5 +43,4 @@ fun BottomRow(
         Spacer(Modifier.size(ButtonDefaults.IconSpacing))
         Text("Move files")
     }
-
 }
\ No newline at end of file
diff --git a/src/main/kotlin/xyz/atnrch/wrench/watcher/Watcher.kt b/src/main/kotlin/xyz/atnrch/wrench/watcher/Watcher.kt
index 5027f6b..cadd86e 100644
--- a/src/main/kotlin/xyz/atnrch/wrench/watcher/Watcher.kt
+++ b/src/main/kotlin/xyz/atnrch/wrench/watcher/Watcher.kt
@@ -1,11 +1,7 @@
 package xyz.atnrch.wrench.watcher
 
 import androidx.compose.material.SnackbarDuration
-import kotlinx.coroutines.CoroutineScope
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.cancel
 import kotlinx.coroutines.launch
-import kotlinx.coroutines.swing.Swing
 import xyz.atnrch.wrench.compose.SnackBarDataHolder
 import xyz.atnrch.wrench.logger.Logger
 import java.nio.file.Files
@@ -16,25 +12,8 @@ class Watcher(
     private val watcherManager: WatcherManager,
     private val snackBarDataHolder: SnackBarDataHolder
 ) {
-    companion object {
-        var WATCHING = false
-    }
-
-    private var coroutineScope = CoroutineScope(Dispatchers.Swing)
-
-    fun start() {
-        if (WATCHING) return
-
-        coroutineScope.launch {
-            WATCHING = true
-            Logger.info("Started Watcher.")
-            while (WATCHING) {
-                move()
-            }
-        }
-    }
-
     fun move() {
+        Logger.info("Moving files...")
         snackBarDataHolder.coroutineScope.launch {
             var filesTotal = 0
             var foldersTotal = 0
@@ -42,32 +21,22 @@ class Watcher(
                 filesTotal += 1
                 entry.map.forEach {
                     val movePath = "${it.toAbsolutePath()}/${entry.file.name}"
-                    println(movePath)
                     Files.copy(entry.file.toPath(), Path.of(movePath), StandardCopyOption.REPLACE_EXISTING)
                     foldersTotal += 1
                 }
             }
-            snackBarDataHolder.scaffoldState.snackbarHostState.currentSnackbarData?.dismiss()
-            println(foldersTotal)
-            if (foldersTotal < 1) {
-                println(foldersTotal)
-                snackBarDataHolder.scaffoldState.snackbarHostState.showSnackbar(
-                    message = "No files to move, skipped.",
-                    duration = SnackbarDuration.Short
-                )
+            val logMessage: String = if (foldersTotal < 1) {
+                "No files to move!"
             } else {
-                snackBarDataHolder.scaffoldState.snackbarHostState.showSnackbar(
-                    message = "Successfully moved $filesTotal ${if (filesTotal > 1) "files" else "file"} to $foldersTotal different ${if (foldersTotal > 1) "folders" else "folder"}",
-                    duration = SnackbarDuration.Short
-                )
+                "Successfully moved $filesTotal ${if (filesTotal > 1) "files" else "file"} to $foldersTotal different ${if (foldersTotal > 1) "folders" else "folder"}."
             }
+            Logger.info(logMessage)
+            Logger.info("Done moving files.")
+            snackBarDataHolder.scaffoldState.snackbarHostState.currentSnackbarData?.dismiss()
+            snackBarDataHolder.scaffoldState.snackbarHostState.showSnackbar(
+                message = logMessage,
+                duration = SnackbarDuration.Short
+            )
         }
     }
-
-    fun stop() {
-        Logger.info("Stopped Watcher.")
-        coroutineScope.cancel()
-        coroutineScope = CoroutineScope(Dispatchers.Main)
-        WATCHING = false
-    }
 }
\ No newline at end of file