diff --git a/app/build.gradle b/app/build.gradle
index a75fde6349db179f4683c37dd2e00943d8efda5d..1f307f8ccdce7e90c05cb274b7ddba78364c67d0 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -60,7 +60,6 @@ dependencies {
     implementation project(path: ':core')
     implementation project(path: ':auth')
     implementation project(path: ':gallery')
-    implementation project(path: ':settings')
 
     //Firebase
     gplayImplementation platform('com.google.firebase:firebase-bom:32.1.1')
diff --git a/app/src/main/java/org/futo/circles/feature/circles/following/RemoveFollowingDialog.kt b/app/src/main/java/org/futo/circles/feature/circles/following/RemoveFollowingDialog.kt
index 9e28cf88309822d540cc1e5ef2d87699eede5560..3f39151452c6f5268c782ae073c3d4c69b57603c 100644
--- a/app/src/main/java/org/futo/circles/feature/circles/following/RemoveFollowingDialog.kt
+++ b/app/src/main/java/org/futo/circles/feature/circles/following/RemoveFollowingDialog.kt
@@ -28,7 +28,7 @@ class RemoveFollowingDialog(
         setContentView(binding.root)
 
         with(binding) {
-            val title = "${context.getString(R.string.remove)} $roomName"
+            val title = "${context.getString(org.futo.circles.core.R.string.remove)} $roomName"
             tvTitle.text = title
             btnClose.setOnClickListener { dismiss() }
             btnCancel.setOnClickListener { dismiss() }
diff --git a/app/src/main/java/org/futo/circles/feature/home/HomeFragment.kt b/app/src/main/java/org/futo/circles/feature/home/HomeFragment.kt
index 84c39c43ffead3eb14f698aabac0648061a999bd..6421a55f5e14cab5454e865ac445d283a0832072 100644
--- a/app/src/main/java/org/futo/circles/feature/home/HomeFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/home/HomeFragment.kt
@@ -30,7 +30,7 @@ import org.futo.circles.core.picker.RuntimePermissionHelper
 import org.futo.circles.core.provider.MatrixSessionProvider
 import org.futo.circles.databinding.FragmentBottomNavigationBinding
 import org.futo.circles.gallery.feature.backup.service.MediaBackupServiceManager
-import org.futo.circles.settings.feature.system_notices.SystemNoticesCountSharedViewModel
+import org.futo.circles.core.notices.SystemNoticesCountSharedViewModel
 import org.matrix.android.sdk.api.session.getRoomSummary
 import javax.inject.Inject
 
diff --git a/settings/src/main/java/org/futo/circles/settings/feature/SettingsDataSource.kt b/app/src/main/java/org/futo/circles/feature/settings/SettingsDataSource.kt
similarity index 98%
rename from settings/src/main/java/org/futo/circles/settings/feature/SettingsDataSource.kt
rename to app/src/main/java/org/futo/circles/feature/settings/SettingsDataSource.kt
index dc1fe57b7a464f80013adb6018208f1b3d12b3b5..acdf3f0f2aac1754c6f3b6fbe960b1d0c03293ea 100644
--- a/settings/src/main/java/org/futo/circles/settings/feature/SettingsDataSource.kt
+++ b/app/src/main/java/org/futo/circles/feature/settings/SettingsDataSource.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.settings.feature
+package org.futo.circles.feature.settings
 
 import android.content.Context
 import com.bumptech.glide.Glide
diff --git a/settings/src/main/java/org/futo/circles/settings/feature/SettingsFragment.kt b/app/src/main/java/org/futo/circles/feature/settings/SettingsFragment.kt
similarity index 92%
rename from settings/src/main/java/org/futo/circles/settings/feature/SettingsFragment.kt
rename to app/src/main/java/org/futo/circles/feature/settings/SettingsFragment.kt
index a4c7f60ab668bf8d86cb289ecc19964def278845..2dfd0ec067cca72b80890c3ac2f063672388c203 100644
--- a/settings/src/main/java/org/futo/circles/settings/feature/SettingsFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/settings/SettingsFragment.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.settings.feature
+package org.futo.circles.feature.settings
 
 import android.os.Bundle
 import android.view.View
@@ -9,6 +9,7 @@ import androidx.fragment.app.viewModels
 import by.kirich1409.viewbindingdelegate.viewBinding
 import dagger.hilt.android.AndroidEntryPoint
 import org.futo.circles.MainActivity
+import org.futo.circles.R
 import org.futo.circles.auth.model.LogOut
 import org.futo.circles.auth.model.SwitchUser
 import org.futo.circles.core.CirclesAppConfig
@@ -19,13 +20,11 @@ import org.futo.circles.core.extensions.observeResponse
 import org.futo.circles.core.extensions.showError
 import org.futo.circles.core.extensions.showSuccess
 import org.futo.circles.core.extensions.withConfirmation
+import org.futo.circles.core.notices.SystemNoticesCountSharedViewModel
 import org.futo.circles.core.provider.PreferencesProvider
 import org.futo.circles.core.view.LoadingDialog
-import org.futo.circles.settings.R
-import org.futo.circles.settings.databinding.FragmentSettingsBinding
-import org.futo.circles.settings.feature.system_notices.SystemNoticesCountSharedViewModel
-import org.futo.circles.settings.model.DeactivateAccount
-import org.futo.circles.settings.model.LogOut
+import org.futo.circles.databinding.FragmentSettingsBinding
+import org.futo.circles.model.DeactivateAccount
 import org.matrix.android.sdk.api.session.user.model.User
 
 @AndroidEntryPoint
@@ -73,7 +72,7 @@ class SettingsFragment : Fragment(R.layout.fragment_settings) {
         }
         viewModel.deactivateLiveData.observeResponse(this,
             success = { clearSessionAndRestart() },
-            error = { showError(getString(R.string.invalid_auth)) }
+            error = { showError(getString(org.futo.circles.auth.R.string.invalid_auth)) }
         )
         systemNoticesCountViewModel.systemNoticesCountLiveData?.observeData(this) {
             binding.ivNoticesCount.setCount(it ?: 0)
diff --git a/settings/src/main/java/org/futo/circles/settings/feature/SettingsNavigator.kt b/app/src/main/java/org/futo/circles/feature/settings/SettingsNavigator.kt
similarity index 96%
rename from settings/src/main/java/org/futo/circles/settings/feature/SettingsNavigator.kt
rename to app/src/main/java/org/futo/circles/feature/settings/SettingsNavigator.kt
index 532a19240f0394ec690eb8dd58a1dd9091bdef9e..6578d2340ad3998e7fd7a862145b58c0359143e2 100644
--- a/settings/src/main/java/org/futo/circles/settings/feature/SettingsNavigator.kt
+++ b/app/src/main/java/org/futo/circles/feature/settings/SettingsNavigator.kt
@@ -1,11 +1,11 @@
-package org.futo.circles.settings.feature
+package org.futo.circles.feature.settings
 
 import androidx.navigation.fragment.findNavController
+import org.futo.circles.R
 import org.futo.circles.core.extensions.navigateSafe
 import org.futo.circles.core.extensions.showError
 import org.futo.circles.core.utils.getSharedCirclesSpaceId
 import org.futo.circles.core.utils.getSystemNoticesRoomId
-import org.futo.circles.settings.R
 
 class SettingsNavigator(private val fragment: SettingsFragment) {
 
diff --git a/settings/src/main/java/org/futo/circles/settings/feature/SettingsViewModel.kt b/app/src/main/java/org/futo/circles/feature/settings/SettingsViewModel.kt
similarity index 98%
rename from settings/src/main/java/org/futo/circles/settings/feature/SettingsViewModel.kt
rename to app/src/main/java/org/futo/circles/feature/settings/SettingsViewModel.kt
index d21a1fead7793bde94f530aea16a02af3a93dcb6..30b1cecbf86d1a9fdce7294ca80a15d6ff95212d 100644
--- a/settings/src/main/java/org/futo/circles/settings/feature/SettingsViewModel.kt
+++ b/app/src/main/java/org/futo/circles/feature/settings/SettingsViewModel.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.settings.feature
+package org.futo.circles.feature.settings
 
 import androidx.lifecycle.ViewModel
 import dagger.hilt.android.lifecycle.HiltViewModel
diff --git a/settings/src/main/java/org/futo/circles/settings/feature/edit_profile/EditProfileDialogFragment.kt b/app/src/main/java/org/futo/circles/feature/settings/edit_profile/EditProfileDialogFragment.kt
similarity index 95%
rename from settings/src/main/java/org/futo/circles/settings/feature/edit_profile/EditProfileDialogFragment.kt
rename to app/src/main/java/org/futo/circles/feature/settings/edit_profile/EditProfileDialogFragment.kt
index a7002891a462f45ab353b77fadd4abcbd561f723..6569c565312e8c66a4d2046586b199bb6e367e66 100644
--- a/settings/src/main/java/org/futo/circles/settings/feature/edit_profile/EditProfileDialogFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/settings/edit_profile/EditProfileDialogFragment.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.settings.feature.edit_profile
+package org.futo.circles.feature.settings.edit_profile
 
 import android.os.Bundle
 import android.view.View
@@ -6,6 +6,7 @@ import androidx.core.widget.doAfterTextChanged
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.viewModels
 import dagger.hilt.android.AndroidEntryPoint
+import org.futo.circles.R
 import org.futo.circles.core.extensions.getText
 import org.futo.circles.core.extensions.loadProfileIcon
 import org.futo.circles.core.extensions.notEmptyDisplayName
@@ -15,9 +16,8 @@ import org.futo.circles.core.extensions.onBackPressed
 import org.futo.circles.core.extensions.showSuccess
 import org.futo.circles.core.fragment.BaseFullscreenDialogFragment
 import org.futo.circles.core.fragment.HasLoadingState
+import org.futo.circles.databinding.DialogFragmentEditProfileBinding
 import org.futo.circles.gallery.feature.pick.AllMediaPickerHelper
-import org.futo.circles.settings.R
-import org.futo.circles.settings.databinding.DialogFragmentEditProfileBinding
 import org.matrix.android.sdk.api.session.user.model.User
 
 @AndroidEntryPoint
diff --git a/settings/src/main/java/org/futo/circles/settings/feature/edit_profile/EditProfileViewModel.kt b/app/src/main/java/org/futo/circles/feature/settings/edit_profile/EditProfileViewModel.kt
similarity index 96%
rename from settings/src/main/java/org/futo/circles/settings/feature/edit_profile/EditProfileViewModel.kt
rename to app/src/main/java/org/futo/circles/feature/settings/edit_profile/EditProfileViewModel.kt
index a93e75143ad439653b4c69e56f227cab7a641910..b1eec4aaa658776d8a883da071f2103317892f13 100644
--- a/settings/src/main/java/org/futo/circles/settings/feature/edit_profile/EditProfileViewModel.kt
+++ b/app/src/main/java/org/futo/circles/feature/settings/edit_profile/EditProfileViewModel.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.settings.feature.edit_profile
+package org.futo.circles.feature.settings.edit_profile
 
 import android.net.Uri
 import androidx.lifecycle.MutableLiveData
diff --git a/app/src/main/java/org/futo/circles/feature/timeline/TimelineDialogFragment.kt b/app/src/main/java/org/futo/circles/feature/timeline/TimelineDialogFragment.kt
index 1f29495cca6b999a7a21fbca42626bec78eb2408..808ee5590dde73e35b4e7f3b58a64af443c5ce1d 100644
--- a/app/src/main/java/org/futo/circles/feature/timeline/TimelineDialogFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/timeline/TimelineDialogFragment.kt
@@ -56,7 +56,7 @@ class TimelineDialogFragment : BaseFullscreenDialogFragment(DialogFragmentTimeli
     private val timelineId by lazy {
         if (isGroupMode) args.roomId
         else getTimelineRoomFor(args.roomId)?.roomId ?: throw IllegalArgumentException(
-            requireContext().getString(R.string.timeline_not_found)
+            "Timeline not found"
         )
     }
     private val binding by lazy {
diff --git a/app/src/main/java/org/futo/circles/model/ConfirmationType.kt b/app/src/main/java/org/futo/circles/model/ConfirmationType.kt
index 33d59c0506b8305790ebd8428b4f9804b4194d3e..d65775b3aa55cd0055c6f681f8fa8c1c2a75f147 100644
--- a/app/src/main/java/org/futo/circles/model/ConfirmationType.kt
+++ b/app/src/main/java/org/futo/circles/model/ConfirmationType.kt
@@ -26,7 +26,7 @@ data class UnfollowTimeline(
 data class RemovePost(
     override val titleRes: Int = R.string.remove_post,
     override val messageRes: Int = R.string.remove_post_message,
-    override val positiveButtonRes: Int = R.string.remove
+    override val positiveButtonRes: Int = org.futo.circles.core.R.string.remove
 ) : ConfirmationType(titleRes, messageRes, positiveButtonRes)
 
 data class IgnoreSender(
@@ -62,7 +62,7 @@ data class DeleteCircle(
 data class RemoveRoomUser(
     override val titleRes: Int = R.string.remove_user,
     override val messageRes: Int = R.string.remove_user_in_room_message,
-    override val positiveButtonRes: Int = R.string.remove
+    override val positiveButtonRes: Int = org.futo.circles.core.R.string.remove
 ) : ConfirmationType(titleRes, messageRes, positiveButtonRes)
 
 data class BanUser(
@@ -87,4 +87,10 @@ data class ResendInvite(
     override val titleRes: Int = R.string.resend_invite,
     override val messageRes: Int = R.string.resend_invite_message,
     override val positiveButtonRes: Int = android.R.string.ok
+) : ConfirmationType(titleRes, messageRes, positiveButtonRes)
+
+data class DeactivateAccount(
+    override val titleRes: Int = R.string.deactivate_my_account,
+    override val messageRes: Int = R.string.deactivate_message,
+    override val positiveButtonRes: Int = R.string.deactivate
 ) : ConfirmationType(titleRes, messageRes, positiveButtonRes)
\ No newline at end of file
diff --git a/settings/src/main/res/layout/dialog_fragment_edit_profile.xml b/app/src/main/res/layout/dialog_fragment_edit_profile.xml
similarity index 100%
rename from settings/src/main/res/layout/dialog_fragment_edit_profile.xml
rename to app/src/main/res/layout/dialog_fragment_edit_profile.xml
diff --git a/settings/src/main/res/layout/fragment_settings.xml b/app/src/main/res/layout/fragment_settings.xml
similarity index 100%
rename from settings/src/main/res/layout/fragment_settings.xml
rename to app/src/main/res/layout/fragment_settings.xml
diff --git a/app/src/main/res/navigation/settings_nav_graph.xml b/app/src/main/res/navigation/settings_nav_graph.xml
index 856462439a49eb3a9490adf675fafe2f3ded1f13..f0cea5e281749af61027f7dcd4b5ccac7c61c277 100644
--- a/app/src/main/res/navigation/settings_nav_graph.xml
+++ b/app/src/main/res/navigation/settings_nav_graph.xml
@@ -7,7 +7,7 @@
 
     <fragment
         android:id="@+id/settingsFragment"
-        android:name="org.futo.circles.settings.feature.SettingsFragment"
+        android:name="org.futo.circles.feature.settings.SettingsFragment"
         android:label="@string/settings"
         tools:layout="@layout/fragment_settings">
         <action
@@ -18,7 +18,7 @@
             app:destination="@id/changePasswordDialogFragment" />
         <action
             android:id="@+id/to_activeSessionsDialogFragment"
-            app:destination="@id/activeSessionsDialogFragment" />
+            app:destination="@id/log_in_sessions_nav_graph" />
         <action
             android:id="@+id/to_systemNoticesDialogFragment"
             app:destination="@id/systemNoticesDialogFragment">
@@ -35,9 +35,6 @@
                 app:nullable="false" />
 
         </action>
-        <action
-            android:id="@+id/action_settingsFragment_to_activeSessionsDialogFragment"
-            app:destination="@id/activeSessionsDialogFragment" />
         <action
             android:id="@+id/to_reAuthStagesDialogFragment"
             app:destination="@id/reAuthStagesDialogFragment" />
@@ -63,35 +60,14 @@
 
     <dialog
         android:id="@+id/editProfileDialogFragment"
-        android:name="org.futo.circles.settings.edit_profile.EditProfileDialogFragment"
+        android:name="org.futo.circles.feature.settings.edit_profile.EditProfileDialogFragment"
         android:label="ProfileDialogFragment"
         tools:layout="@layout/dialog_fragment_edit_profile" />
     <dialog
         android:id="@+id/changePasswordDialogFragment"
-        android:name="org.futo.circles.settings.change_password.ChangePasswordDialogFragment"
+        android:name="org.futo.circles.auth.feature.change_password.ChangePasswordDialogFragment"
         android:label="ChangePasswordDialogFragment"
         tools:layout="@layout/dialog_fragment_change_password" />
-    <dialog
-        android:id="@+id/activeSessionsDialogFragment"
-        android:name="org.futo.circles.settings.active_sessions.ActiveSessionsDialogFragment"
-        android:label="ActiveSessionsDialogFragment"
-        tools:layout="@layout/dialog_fragment_active_sessions">
-        <action
-            android:id="@+id/to_reAuthStagesDialogFragment"
-            app:destination="@id/reAuthStagesDialogFragment" />
-
-        <action
-            android:id="@+id/to_verifySessionDialogFragment"
-            app:destination="@id/verifySessionDialogFragment">
-
-            <argument
-                android:name="deviceId"
-                app:argType="string"
-                app:nullable="false" />
-
-        </action>
-
-    </dialog>
     <dialog
         android:id="@+id/systemNoticesDialogFragment"
         android:name="org.futo.circles.feature.notices.SystemNoticesDialogFragment"
@@ -108,22 +84,6 @@
             app:nullable="false" />
 
     </dialog>
-    <dialog
-        android:id="@+id/verifySessionDialogFragment"
-        android:name="org.futo.circles.settings.active_sessions.verify.VerifySessionDialogFragment"
-        tools:layout="@layout/dialog_fragment_verify_session">
-
-        <argument
-            android:name="deviceId"
-            app:argType="string"
-            app:nullable="false" />
-
-    </dialog>
-
-    <dialog
-        android:id="@+id/reAuthStagesDialogFragment"
-        android:name="org.futo.circles.auth.feature.reauth.ReAuthStagesDialogFragment"
-        tools:layout="@layout/fragment_login_stages" />
 
     <dialog
         android:id="@+id/shareRoomDialogFragment"
@@ -155,4 +115,11 @@
         android:name="org.futo.circles.feature.notifications.test.NotificationTestDialogFragment"
         tools:layout="@layout/dialog_fragment_notifications_test" />
 
+    <include app:graph="@navigation/log_in_sessions_nav_graph" />
+
+    <dialog
+        android:id="@+id/reAuthStagesDialogFragment"
+        android:name="org.futo.circles.auth.feature.reauth.ReAuthStagesDialogFragment"
+        tools:layout="@layout/fragment_login_stages" />
+
 </navigation>
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 6044d1f4a657258bcf531d7a0761016b0e858da5..e04d79f95b68478e38f52100d5180cf425cfa0b2 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -166,8 +166,6 @@
     <string name="end_poll_message">This will stop people from being able to vote and will display the final results of the poll.</string>
     <string name="system_notices_room_not_found">System notices room not found.</string>
     <string name="you_are_signed_out">You’re signed out</string>
-    <string name="verify_session">Verify session</string>
-    <string name="scan_qr_code">Scan QR code</string>
     <string name="create_your_first_circle_to_be_able_to_accept_invite">Create your first Circle to be able to accept invite</string>
     <string name="show_more">Show more</string>
     <string name="edit">Edit</string>
@@ -284,6 +282,14 @@
     <string name="send_request_to_follow_user">Send request to follow this user</string>
     <string name="resend">Resend</string>
     <string name="unable_to_parse_url">Unable to parse url</string>
+    <string name="profile_updated">Profile updated</string>
+    <string name="version_format">Version %s</string>
+    <string name="developer_mode_enabled">Developer mode is enabled</string>
+    <string name="developer_mode_disabled">Developer mode is disabled</string>
+    <string name="deactivate_my_account">Deactivate my account</string>
+    <string name="deactivate_message">This will make your account permanently unusable. You will not be able to log in, and no one will be able to re-register the same user lD. This will cause your account to leave all rooms it is participating in, and it will remove your account details from your identity server. This action is irreversible.</string>
+    <string name="deactivate">Deactivate</string>
+    <string name="room_not_found">Room is not found</string>
 
     <string-array name="report_categories">
         <item>@string/crude_language</item>
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 441eb39bc56cf99d5e7e5b7072801cf56e5e8ba0..dde7b2409c0cb6a4f54a86c8d0e3a9c19af0beb2 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -15,6 +15,26 @@
         <item name="cornerFamilyTopRight">rounded</item>
     </style>
 
+    <style name="settingMenuItem" parent="body">
+        <item name="android:background">?attr/selectableItemBackground</item>
+        <item name="android:clickable">true</item>
+        <item name="android:focusable">true</item>
+        <item name="android:drawablePadding">8dp</item>
+        <item name="android:paddingBottom">10dp</item>
+        <item name="android:paddingStart">16dp</item>
+        <item name="android:paddingEnd">16dp</item>
+        <item name="android:paddingTop">10dp</item>
+        <item name="android:drawableTint">@color/list_item_icon_color</item>
+    </style>
+
+    <style name="settingMenuHeader" parent="subheadline">
+        <item name="android:textColor">@color/blue</item>
+        <item name="android:paddingBottom">8dp</item>
+        <item name="android:paddingStart">16dp</item>
+        <item name="android:paddingEnd">16dp</item>
+        <item name="android:paddingTop">16dp</item>
+    </style>
+
     <style name="AuthLogoStyle">
         <item name="android:src">@drawable/ic_logo</item>
     </style>
diff --git a/auth/src/main/res/navigation/log_in_sessions_nav_graph.xml b/auth/src/main/res/navigation/log_in_sessions_nav_graph.xml
new file mode 100644
index 0000000000000000000000000000000000000000..bee1fe4e5e88206bda7b2f3e726a0d9123b055f4
--- /dev/null
+++ b/auth/src/main/res/navigation/log_in_sessions_nav_graph.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<navigation xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:id="@+id/log_in_sessions_nav_graph"
+    app:startDestination="@id/activeSessionsDialogFragment">
+
+    <dialog
+        android:id="@+id/activeSessionsDialogFragment"
+        android:name="org.futo.circles.auth.feature.active_sessions.ActiveSessionsDialogFragment"
+        android:label="ActiveSessionsDialogFragment"
+        tools:layout="@layout/dialog_fragment_active_sessions">
+        <action
+            android:id="@+id/to_reAuthStagesDialogFragment"
+            app:destination="@id/reAuthStagesDialogFragment" />
+
+        <action
+            android:id="@+id/to_verifySessionDialogFragment"
+            app:destination="@id/verifySessionDialogFragment">
+
+            <argument
+                android:name="deviceId"
+                app:argType="string"
+                app:nullable="false" />
+
+        </action>
+
+    </dialog>
+    <dialog
+        android:id="@+id/verifySessionDialogFragment"
+        android:name="org.futo.circles.auth.feature.active_sessions.verify.VerifySessionDialogFragment"
+        tools:layout="@layout/dialog_fragment_verify_session">
+
+        <argument
+            android:name="deviceId"
+            app:argType="string"
+            app:nullable="false" />
+
+    </dialog>
+    <dialog
+        android:id="@+id/reAuthStagesDialogFragment"
+        android:name="org.futo.circles.auth.feature.reauth.ReAuthStagesDialogFragment"
+        tools:layout="@layout/fragment_login_stages" />
+</navigation>
diff --git a/auth/src/main/res/values/strings.xml b/auth/src/main/res/values/strings.xml
index 76b7988d29b5d36d7c96f7daeeebe8cb4bde9b57..fa168e1eede8b5cede8e7a1ed5bb522f12d2b21d 100644
--- a/auth/src/main/res/values/strings.xml
+++ b/auth/src/main/res/values/strings.xml
@@ -117,6 +117,9 @@
     <string name="cross_signed">cross signed</string>
     <string name="waiting_for_verification_format">Waiting for %s to start verification</string>
     <string name="session_verified">Session verified</string>
+    <string name="active_login_sessions">Active login sessions</string>
+    <string name="verify_session">Verify session</string>
+    <string name="scan_qr_code">Scan QR code</string>
 
     <plurals name="days">
         <item quantity="one">%1$d day</item>
diff --git a/settings/src/main/java/org/futo/circles/settings/feature/system_notices/SystemNoticesCountSharedViewModel.kt b/core/src/main/java/org/futo/circles/core/notices/SystemNoticesCountSharedViewModel.kt
similarity index 96%
rename from settings/src/main/java/org/futo/circles/settings/feature/system_notices/SystemNoticesCountSharedViewModel.kt
rename to core/src/main/java/org/futo/circles/core/notices/SystemNoticesCountSharedViewModel.kt
index 8e30a27df2d78195be9681c1c1f4760c1c45d3b6..62a4db05cc3e42ce6ed80264d30760a46a1cee2a 100644
--- a/settings/src/main/java/org/futo/circles/settings/feature/system_notices/SystemNoticesCountSharedViewModel.kt
+++ b/core/src/main/java/org/futo/circles/core/notices/SystemNoticesCountSharedViewModel.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.settings.feature.system_notices
+package org.futo.circles.core.notices
 
 import androidx.lifecycle.ViewModel
 import androidx.lifecycle.map
diff --git a/settings.gradle b/settings.gradle
index 81772c61341eda047c18db219f32f60475ae0a16..6b8c7c174696433ef7f955d8bb7893febe5e5ad1 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -2,5 +2,4 @@ rootProject.name = "Circles"
 include ':app'
 include ':auth'
 include ':core'
-include ':gallery'
-include ':settings'
+include ':gallery'
\ No newline at end of file
diff --git a/settings/.gitignore b/settings/.gitignore
deleted file mode 100644
index 42afabfd2abebf31384ca7797186a27a4b7dbee8..0000000000000000000000000000000000000000
--- a/settings/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
\ No newline at end of file
diff --git a/settings/build.gradle b/settings/build.gradle
deleted file mode 100644
index 49b500ab0b3b66904a0b19dac13fe84f819813b4..0000000000000000000000000000000000000000
--- a/settings/build.gradle
+++ /dev/null
@@ -1,91 +0,0 @@
-apply plugin: 'com.android.library'
-apply plugin: 'org.jetbrains.kotlin.android'
-apply plugin: 'androidx.navigation.safeargs.kotlin'
-apply plugin: 'kotlin-kapt'
-apply plugin: 'dagger.hilt.android.plugin'
-apply plugin: 'maven-publish'
-
-android {
-    namespace 'org.futo.circles.settings'
-    compileSdk 33
-
-    defaultConfig {
-        minSdk 24
-        targetSdk 33
-
-        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
-        consumerProguardFiles "consumer-rules.pro"
-    }
-
-    buildFeatures {
-        viewBinding true
-    }
-
-    buildTypes {
-        debug {
-            minifyEnabled false
-        }
-        release {
-            minifyEnabled false
-            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
-        }
-    }
-
-    compileOptions {
-        sourceCompatibility JavaVersion.VERSION_17
-        targetCompatibility JavaVersion.VERSION_17
-    }
-    kotlinOptions {
-        jvmTarget = JavaVersion.VERSION_17.toString()
-    }
-}
-
-dependencies {
-    implementation project(path: ':core')
-
-    //Hilt
-    def hilt = '2.46.1'
-    implementation "com.google.dagger:hilt-android:$hilt"
-    kapt "com.google.dagger:hilt-compiler:$hilt"
-
-    testImplementation 'junit:junit:4.13.2'
-    androidTestImplementation 'androidx.test.ext:junit:1.1.5'
-    androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
-}
-
-kapt {
-    correctErrorTypes = true
-}
-
-def groupIdString = "org.futo.circles"
-def artifactIdString = "settings"
-
-afterEvaluate {
-    Properties properties = new Properties()
-    if (rootProject.file("local.properties").exists()) {
-        properties.load(rootProject.file("local.properties").newDataInputStream())
-    }
-    publishing {
-        publications {
-            release(MavenPublication) {
-                from components.release
-                groupId groupIdString
-                artifactId artifactIdString
-                version rootProject.ext.modules_version
-            }
-        }
-        repositories {
-            maven {
-                url "https://gitlab.futo.org/api/v4/projects/$rootProject.ext.modules_gitlab_projectId/packages/maven"
-                name "GitLab"
-                credentials(HttpHeaderCredentials) {
-                    name = "Private-Token"
-                    value = properties.getProperty("PUBLISH_TOKEN")
-                }
-                authentication {
-                    header(HttpHeaderAuthentication)
-                }
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/settings/consumer-rules.pro b/settings/consumer-rules.pro
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/settings/proguard-rules.pro b/settings/proguard-rules.pro
deleted file mode 100644
index 481bb434814107eb79d7a30b676d344b0df2f8ce..0000000000000000000000000000000000000000
--- a/settings/proguard-rules.pro
+++ /dev/null
@@ -1,21 +0,0 @@
-# Add project specific ProGuard rules here.
-# You can control the set of applied configuration files using the
-# proguardFiles setting in build.gradle.
-#
-# For more details, see
-#   http://developer.android.com/guide/developing/tools/proguard.html
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-#   public *;
-#}
-
-# Uncomment this to preserve the line number information for
-# debugging stack traces.
-#-keepattributes SourceFile,LineNumberTable
-
-# If you keep the line number information, uncomment this to
-# hide the original source file name.
-#-renamesourcefileattribute SourceFile
\ No newline at end of file
diff --git a/settings/src/androidTest/java/org/futo/circles/settings/ExampleInstrumentedTest.kt b/settings/src/androidTest/java/org/futo/circles/settings/ExampleInstrumentedTest.kt
deleted file mode 100644
index f6f076b146db81fa8d2229272f6e1941f9f588f6..0000000000000000000000000000000000000000
--- a/settings/src/androidTest/java/org/futo/circles/settings/ExampleInstrumentedTest.kt
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.futo.circles.settings
-
-import androidx.test.platform.app.InstrumentationRegistry
-import androidx.test.ext.junit.runners.AndroidJUnit4
-
-import org.junit.Test
-import org.junit.runner.RunWith
-
-import org.junit.Assert.*
-
-/**
- * Instrumented test, which will execute on an Android device.
- *
- * See [testing documentation](http://d.android.com/tools/testing).
- */
-@RunWith(AndroidJUnit4::class)
-class ExampleInstrumentedTest {
-    @Test
-    fun useAppContext() {
-        // Context of the app under test.
-        val appContext = InstrumentationRegistry.getInstrumentation().targetContext
-        assertEquals("org.futo.circles.settings.test", appContext.packageName)
-    }
-}
\ No newline at end of file
diff --git a/settings/src/main/AndroidManifest.xml b/settings/src/main/AndroidManifest.xml
deleted file mode 100644
index a5918e68abcdde7f61ccae4f0ad4885b764573fd..0000000000000000000000000000000000000000
--- a/settings/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android">
-
-</manifest>
\ No newline at end of file
diff --git a/settings/src/main/java/org/futo/circles/settings/model/ConfirmationType.kt b/settings/src/main/java/org/futo/circles/settings/model/ConfirmationType.kt
deleted file mode 100644
index 5237b48c372b91063049a3d96ac664c90a5fef14..0000000000000000000000000000000000000000
--- a/settings/src/main/java/org/futo/circles/settings/model/ConfirmationType.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.futo.circles.settings.model
-
-import org.futo.circles.core.model.ConfirmationType
-import org.futo.circles.settings.R
-
-data class DeactivateAccount(
-    override val titleRes: Int = R.string.deactivate_my_account,
-    override val messageRes: Int = R.string.deactivate_message,
-    override val positiveButtonRes: Int = R.string.deactivate
-) : ConfirmationType(titleRes, messageRes, positiveButtonRes)
-
-
-
diff --git a/settings/src/main/res/values-night/colors.xml b/settings/src/main/res/values-night/colors.xml
deleted file mode 100644
index 0d2c4cc4098455f8d66c1bbcb0938e945746a13c..0000000000000000000000000000000000000000
--- a/settings/src/main/res/values-night/colors.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
-
-</resources>
\ No newline at end of file
diff --git a/settings/src/main/res/values/colors.xml b/settings/src/main/res/values/colors.xml
deleted file mode 100644
index 0d2c4cc4098455f8d66c1bbcb0938e945746a13c..0000000000000000000000000000000000000000
--- a/settings/src/main/res/values/colors.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
-
-</resources>
\ No newline at end of file
diff --git a/settings/src/main/res/values/strings.xml b/settings/src/main/res/values/strings.xml
deleted file mode 100644
index 2bea33ecf3bce3c82f734770273eab757b68c10a..0000000000000000000000000000000000000000
--- a/settings/src/main/res/values/strings.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
-
-
-    <string name="profile_updated">Profile updated</string>
-    <string name="version_format">Version %s</string>
-    <string name="developer_mode_enabled">Developer mode is enabled</string>
-    <string name="developer_mode_disabled">Developer mode is disabled</string>
-    <string name="deactivate_my_account">Deactivate my account</string>
-    <string name="deactivate_message">This will make your account permanently unusable. You will not be able to log in, and no one will be able to re-register the same user lD. This will cause your account to leave all rooms it is participating in, and it will remove your account details from your identity server. This action is irreversible.</string>
-    <string name="deactivate">Deactivate</string>
-
-    <string name="active_login_sessions">Active login sessions</string>
-
-</resources>
\ No newline at end of file
diff --git a/settings/src/main/res/values/styles.xml b/settings/src/main/res/values/styles.xml
deleted file mode 100644
index 523cb62865f7efee813179fe2e77d9d394c10a44..0000000000000000000000000000000000000000
--- a/settings/src/main/res/values/styles.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
-
-    <style name="settingMenuItem" parent="body">
-        <item name="android:background">?attr/selectableItemBackground</item>
-        <item name="android:clickable">true</item>
-        <item name="android:focusable">true</item>
-        <item name="android:drawablePadding">8dp</item>
-        <item name="android:paddingBottom">10dp</item>
-        <item name="android:paddingStart">16dp</item>
-        <item name="android:paddingEnd">16dp</item>
-        <item name="android:paddingTop">10dp</item>
-        <item name="android:drawableTint">@color/list_item_icon_color</item>
-    </style>
-
-    <style name="settingMenuHeader" parent="subheadline">
-        <item name="android:textColor">@color/blue</item>
-        <item name="android:paddingBottom">8dp</item>
-        <item name="android:paddingStart">16dp</item>
-        <item name="android:paddingEnd">16dp</item>
-        <item name="android:paddingTop">16dp</item>
-    </style>
-
-</resources>
\ No newline at end of file
diff --git a/settings/src/test/java/org/futo/circles/settings/ExampleUnitTest.kt b/settings/src/test/java/org/futo/circles/settings/ExampleUnitTest.kt
deleted file mode 100644
index 2155453fdb3c674e44701546254cb397bfbf7deb..0000000000000000000000000000000000000000
--- a/settings/src/test/java/org/futo/circles/settings/ExampleUnitTest.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.futo.circles.settings
-
-import org.junit.Test
-
-import org.junit.Assert.*
-
-/**
- * Example local unit test, which will execute on the development machine (host).
- *
- * See [testing documentation](http://d.android.com/tools/testing).
- */
-class ExampleUnitTest {
-    @Test
-    fun addition_isCorrect() {
-        assertEquals(4, 2 + 2)
-    }
-}
\ No newline at end of file