diff --git a/src/main/kotlin/org/briarproject/briar/compose/UI.kt b/src/main/kotlin/org/briarproject/briar/compose/UI.kt
index 5671b447697528d20137047eaa2b1a4d579bcc7c..791e128bb66d6b5dc8a1220fde2fd3ed5c9f2cb5 100644
--- a/src/main/kotlin/org/briarproject/briar/compose/UI.kt
+++ b/src/main/kotlin/org/briarproject/briar/compose/UI.kt
@@ -1,5 +1,16 @@
 package org.briarproject.briar.compose
 
+import androidx.compose.desktop.Window
+import androidx.compose.foundation.Image
+import androidx.compose.foundation.layout.*
+import androidx.compose.foundation.shape.RoundedCornerShape
+import androidx.compose.material.Button
+import androidx.compose.material.Text
+import androidx.compose.runtime.*
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.draw.clip
+import androidx.compose.ui.res.svgResource
+import androidx.compose.ui.unit.dp
 import org.briarproject.bramble.api.account.AccountManager
 import org.briarproject.bramble.api.contact.ContactManager
 import org.briarproject.bramble.api.crypto.PasswordStrengthEstimator
@@ -8,15 +19,10 @@ import org.briarproject.briar.api.conversation.ConversationManager
 import org.briarproject.briar.api.introduction.IntroductionManager
 import org.briarproject.briar.api.messaging.MessagingManager
 import org.briarproject.briar.api.messaging.PrivateMessageFactory
-import org.briarproject.briar.compose.config.Configuration
 import java.util.logging.Logger.getLogger
 import javax.annotation.concurrent.Immutable
 import javax.inject.Inject
 import javax.inject.Singleton
-import javax.swing.JFrame
-
-private const val VERSION = "v1"
-private const val WS = "/$VERSION/ws"
 
 @Immutable
 @Singleton
@@ -42,22 +48,16 @@ constructor(
     }
 
     internal fun startUI() {
-        val mainUI = MainUI(
-            briarService,
-            accountManager,
-            contactManager,
-            conversationManager,
-            messagingManager,
-            introductionManager,
-            privateMessageFactory,
-            eventBus,
-            passwordStrengthEstimator,
-//            configuration
-        );
-
-        mainUI.defaultCloseOperation = JFrame.EXIT_ON_CLOSE;
-        mainUI.setSize(800, 600);
-        mainUI.setVisible(true);
+        Window {
+            Column(
+                modifier = Modifier.padding(16.dp)
+            ) {
+                TheImage()
+                Spacer(Modifier.height(32.dp))
+                TheText()
+                TheButton()
+            }
+        }
     }
 
     internal fun getContactManager(): ContactManager {
@@ -66,3 +66,29 @@ constructor(
 
 }
 
+
+@Composable
+private fun TheButton() {
+    var text by remember { mutableStateOf("Start chatting") }
+    Button(onClick = {
+        text = "Sorry, not yet available"
+    }) {
+        Text(text)
+    }
+}
+
+@Composable
+private fun TheImage() {
+    Image(
+        painter = svgResource("images/logo_circle.svg"),
+        contentDescription = "Briar logo",
+        modifier = Modifier
+            .fillMaxWidth()
+            .clip(shape = RoundedCornerShape(400.dp))
+    )
+}
+
+@Composable
+private fun TheText() {
+    Text("Welcome to Briar")
+}
diff --git a/src/main/kotlin/org/briarproject/briar/compose/main.kt b/src/main/kotlin/org/briarproject/briar/compose/main.kt
index 0278c0e628fd37a1cac83bdd1b8383315f4511d5..773691a753453ab72b8a99805e8379e7fc00873a 100644
--- a/src/main/kotlin/org/briarproject/briar/compose/main.kt
+++ b/src/main/kotlin/org/briarproject/briar/compose/main.kt
@@ -1,16 +1,5 @@
 package org.briarproject.briar.compose
 
-import androidx.compose.desktop.Window
-import androidx.compose.foundation.Image
-import androidx.compose.foundation.layout.*
-import androidx.compose.foundation.shape.RoundedCornerShape
-import androidx.compose.material.Text
-import androidx.compose.material.Button
-import androidx.compose.runtime.*
-import androidx.compose.ui.Modifier
-import androidx.compose.ui.draw.clip
-import androidx.compose.ui.res.svgResource
-import androidx.compose.ui.unit.dp
 import org.briarproject.bramble.BrambleCoreEagerSingletons
 import org.briarproject.briar.BriarCoreEagerSingletons
 import java.io.File
@@ -22,7 +11,7 @@ import java.nio.file.attribute.PosixFilePermission
 import java.util.logging.Level
 import java.util.logging.LogManager
 
-fun main() = Window {
+fun main() {
     LogManager.getLogManager().getLogger("").level = Level.INFO
 
     val dataDir = getDataDir()
@@ -39,15 +28,6 @@ fun main() = Window {
 
     app.getUI().startBriar()
     app.getUI().startUI()
-
-    Column(
-        modifier = Modifier.padding(16.dp)
-    ) {
-        TheImage()
-        Spacer(Modifier.height(32.dp))
-        TheText()
-        TheButton()
-    }
 }
 
 private fun getDataDir(): File {
@@ -63,30 +43,4 @@ private fun getDataDir(): File {
     perms.add(PosixFilePermission.OWNER_EXECUTE)
     setPosixFilePermissions(file.toPath(), perms)
     return file
-}
-
-@Composable
-private fun TheButton() {
-    var text by remember { mutableStateOf("Start chatting") }
-    Button(onClick = {
-        text = "Sorry, not yet available"
-    }) {
-        Text(text)
-    }
-}
-
-@Composable
-private fun TheImage() {
-    Image(
-        painter = svgResource("images/logo_circle.svg"),
-        contentDescription = "Briar logo",
-        modifier = Modifier
-            .fillMaxWidth()
-            .clip(shape = RoundedCornerShape(400.dp))
-    )
-}
-
-@Composable
-private fun TheText() {
-    Text("Welcome to Briar")
 }
\ No newline at end of file