diff --git a/app/src/main/java/org/futo/circles/feature/settings/SettingsDataSource.kt b/app/src/main/java/org/futo/circles/feature/settings/SettingsDataSource.kt
index c7e6b4c62839f74565392ca611443415c9c51bbc..b60abdd6c0994b32d729f35a07892e6917b64e5c 100644
--- a/app/src/main/java/org/futo/circles/feature/settings/SettingsDataSource.kt
+++ b/app/src/main/java/org/futo/circles/feature/settings/SettingsDataSource.kt
@@ -1,7 +1,7 @@
 package org.futo.circles.feature.settings
 
 import org.futo.circles.auth.feature.change_password.ChangePasswordDataSource
-import org.futo.circles.auth.feature.reauth.AuthConfirmationProvider
+import org.futo.circles.auth.feature.uia.flow.reauth.AuthConfirmationProvider
 import org.futo.circles.core.extensions.Response
 import org.futo.circles.core.extensions.createResult
 import org.futo.circles.core.provider.MatrixSessionProvider
diff --git a/app/src/main/java/org/futo/circles/feature/settings/SettingsFragment.kt b/app/src/main/java/org/futo/circles/feature/settings/SettingsFragment.kt
index 11e4fa65c451fc76072c3bb3f490a6d8ad24d0c8..4af55af0b7303c9db62140652598328b99cf92f5 100644
--- a/app/src/main/java/org/futo/circles/feature/settings/SettingsFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/settings/SettingsFragment.kt
@@ -11,7 +11,7 @@ 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.feature.reauth.ReAuthCancellationListener
+import org.futo.circles.auth.feature.uia.flow.reauth.ReAuthCancellationListener
 import org.futo.circles.auth.model.LogOut
 import org.futo.circles.auth.model.SwitchUser
 import org.futo.circles.core.base.CirclesAppConfig
diff --git a/app/src/main/java/org/futo/circles/feature/settings/SettingsViewModel.kt b/app/src/main/java/org/futo/circles/feature/settings/SettingsViewModel.kt
index bacd54ec9cd8d8ce4f1ac193703d0a9ac46950f3..b7d11b53094d02cdf78a36ab5c67d05e0bc35c49 100644
--- a/app/src/main/java/org/futo/circles/feature/settings/SettingsViewModel.kt
+++ b/app/src/main/java/org/futo/circles/feature/settings/SettingsViewModel.kt
@@ -2,13 +2,11 @@ package org.futo.circles.feature.settings
 
 import androidx.lifecycle.ViewModel
 import dagger.hilt.android.lifecycle.HiltViewModel
-import org.futo.circles.auth.feature.log_in.log_out.LogoutDataSource
 import org.futo.circles.auth.feature.token.RefreshTokenManager
 import org.futo.circles.core.base.SingleEventLiveData
 import org.futo.circles.core.extensions.Response
 import org.futo.circles.core.extensions.createResult
 import org.futo.circles.core.extensions.launchBg
-import org.futo.circles.core.feature.workspace.SharedCircleDataSource
 import org.futo.circles.core.provider.MatrixSessionProvider
 import org.matrix.android.sdk.internal.session.media.MediaUsageInfo
 import javax.inject.Inject
@@ -16,7 +14,6 @@ import javax.inject.Inject
 @HiltViewModel
 class SettingsViewModel @Inject constructor(
     private val settingsDataSource: SettingsDataSource,
-    private val logoutDataSource: LogoutDataSource,
     private val refreshTokenManager: RefreshTokenManager
 ) : ViewModel() {
 
@@ -31,7 +28,9 @@ class SettingsViewModel @Inject constructor(
     fun logOut() {
         launchBg {
             MatrixSessionProvider.currentSession?.let { refreshTokenManager.cancelTokenRefreshing(it) }
-            val result = logoutDataSource.logOut()
+            val result = createResult {
+                MatrixSessionProvider.getSessionOrThrow().signOutService().signOut(true)
+            }
             logOutLiveData.postValue(result)
         }
     }
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/active_sessions/ActiveSessionsDataSource.kt b/auth/src/main/java/org/futo/circles/auth/feature/active_sessions/ActiveSessionsDataSource.kt
index f2ab8ff523d7677734107364ac8b91b53995b9c9..74d62d6b1c5f08caa85608d4ade017639bf6edf6 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/active_sessions/ActiveSessionsDataSource.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/active_sessions/ActiveSessionsDataSource.kt
@@ -10,7 +10,7 @@ import kotlinx.coroutines.flow.combine
 import kotlinx.coroutines.flow.distinctUntilChanged
 import kotlinx.coroutines.flow.flowOn
 import org.futo.circles.auth.R
-import org.futo.circles.auth.feature.reauth.AuthConfirmationProvider
+import org.futo.circles.auth.feature.uia.flow.reauth.AuthConfirmationProvider
 import org.futo.circles.auth.model.ActiveSession
 import org.futo.circles.auth.model.ActiveSessionListItem
 import org.futo.circles.auth.model.SessionHeader
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/change_password/ChangePasswordDataSource.kt b/auth/src/main/java/org/futo/circles/auth/feature/change_password/ChangePasswordDataSource.kt
index 54c5f06323ca014024e79152404125429b825cf6..1c1d71ca9d6645336531a8d5f2f957ffd7be0421 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/change_password/ChangePasswordDataSource.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/change_password/ChangePasswordDataSource.kt
@@ -3,7 +3,7 @@ package org.futo.circles.auth.feature.change_password
 import org.futo.circles.auth.bsspeke.BSSpekeClientProvider
 import org.futo.circles.auth.feature.pass_phrase.EncryptionAlgorithmHelper
 import org.futo.circles.auth.feature.pass_phrase.create.CreatePassPhraseDataSource
-import org.futo.circles.auth.feature.reauth.AuthConfirmationProvider
+import org.futo.circles.auth.feature.uia.flow.reauth.AuthConfirmationProvider
 import org.futo.circles.core.extensions.Response
 import org.futo.circles.core.extensions.createResult
 import org.futo.circles.core.provider.MatrixSessionProvider
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/log_in/log_out/LogoutDataSource.kt b/auth/src/main/java/org/futo/circles/auth/feature/log_in/log_out/LogoutDataSource.kt
deleted file mode 100644
index 95ce658c1636f8e22e635f765ca84d1b08645504..0000000000000000000000000000000000000000
--- a/auth/src/main/java/org/futo/circles/auth/feature/log_in/log_out/LogoutDataSource.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.futo.circles.auth.feature.log_in.log_out
-
-import org.futo.circles.core.extensions.createResult
-import org.futo.circles.core.provider.MatrixSessionProvider
-import javax.inject.Inject
-
-class LogoutDataSource @Inject constructor() {
-
-    suspend fun logOut() = createResult {
-        MatrixSessionProvider.getSessionOrThrow().signOutService().signOut(true)
-    }
-
-}
\ No newline at end of file
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/log_in/recovery/EnterPassPhraseDialog.kt b/auth/src/main/java/org/futo/circles/auth/feature/pass_phrase/recovery/EnterPassPhraseDialog.kt
similarity index 98%
rename from auth/src/main/java/org/futo/circles/auth/feature/log_in/recovery/EnterPassPhraseDialog.kt
rename to auth/src/main/java/org/futo/circles/auth/feature/pass_phrase/recovery/EnterPassPhraseDialog.kt
index 25f0035fe5be9bd6fd5cb3bd76fc11cd0d443acd..de00621cff4dc6f8493242b9408d763d5efddc75 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/log_in/recovery/EnterPassPhraseDialog.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/pass_phrase/recovery/EnterPassPhraseDialog.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.auth.feature.log_in.recovery
+package org.futo.circles.auth.feature.pass_phrase.recovery
 
 import android.app.ActionBar
 import android.content.Context
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/log_in/recovery/EnterPassPhraseDialogListener.kt b/auth/src/main/java/org/futo/circles/auth/feature/pass_phrase/recovery/EnterPassPhraseDialogListener.kt
similarity index 81%
rename from auth/src/main/java/org/futo/circles/auth/feature/log_in/recovery/EnterPassPhraseDialogListener.kt
rename to auth/src/main/java/org/futo/circles/auth/feature/pass_phrase/recovery/EnterPassPhraseDialogListener.kt
index 9c750f9129879994768ece2c415816522a3d4f13..f8407df944e16138403cfcbcd874f396df64a22b 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/log_in/recovery/EnterPassPhraseDialogListener.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/pass_phrase/recovery/EnterPassPhraseDialogListener.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.auth.feature.log_in.recovery
+package org.futo.circles.auth.feature.pass_phrase.recovery
 
 import android.net.Uri
 
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/uia/UIADataSource.kt b/auth/src/main/java/org/futo/circles/auth/feature/uia/UIADataSource.kt
index c8929d325722706d2385de87fa2da1c1b10eee80..10037a888b0af71953c062838035108dd483c56b 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/uia/UIADataSource.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/uia/UIADataSource.kt
@@ -5,7 +5,7 @@ import androidx.lifecycle.MutableLiveData
 import org.futo.circles.auth.R
 import org.futo.circles.auth.model.UIANavigationEvent
 import org.futo.circles.auth.feature.uia.flow.LoginStagesDataSource
-import org.futo.circles.auth.feature.reauth.ReAuthStagesDataSource
+import org.futo.circles.auth.feature.uia.flow.reauth.ReAuthStagesDataSource
 import org.futo.circles.auth.feature.uia.flow.SignUpStagesDataSource
 import org.futo.circles.core.base.SingleEventLiveData
 import org.futo.circles.core.extensions.Response
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/reauth/AuthConfirmationProvider.kt b/auth/src/main/java/org/futo/circles/auth/feature/uia/flow/reauth/AuthConfirmationProvider.kt
similarity index 96%
rename from auth/src/main/java/org/futo/circles/auth/feature/reauth/AuthConfirmationProvider.kt
rename to auth/src/main/java/org/futo/circles/auth/feature/uia/flow/reauth/AuthConfirmationProvider.kt
index 61c77565df6c41376950e1bc208846cca7047bd5..c93abbff8618e2d36ee073970ab45f1632c20a1c 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/reauth/AuthConfirmationProvider.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/uia/flow/reauth/AuthConfirmationProvider.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.auth.feature.reauth
+package org.futo.circles.auth.feature.uia.flow.reauth
 
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.MainScope
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/reauth/ReAuthCancellationListener.kt b/auth/src/main/java/org/futo/circles/auth/feature/uia/flow/reauth/ReAuthCancellationListener.kt
similarity index 55%
rename from auth/src/main/java/org/futo/circles/auth/feature/reauth/ReAuthCancellationListener.kt
rename to auth/src/main/java/org/futo/circles/auth/feature/uia/flow/reauth/ReAuthCancellationListener.kt
index a5fbeb54c1fe763b85796266584b1a224006cf86..fbd4b1b23e236d5901437d6c736cc87c24a853cf 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/reauth/ReAuthCancellationListener.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/uia/flow/reauth/ReAuthCancellationListener.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.auth.feature.reauth
+package org.futo.circles.auth.feature.uia.flow.reauth
 
 interface ReAuthCancellationListener {
     fun onReAuthCanceled()
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/reauth/ReAuthStagesDataSource.kt b/auth/src/main/java/org/futo/circles/auth/feature/uia/flow/reauth/ReAuthStagesDataSource.kt
similarity index 98%
rename from auth/src/main/java/org/futo/circles/auth/feature/reauth/ReAuthStagesDataSource.kt
rename to auth/src/main/java/org/futo/circles/auth/feature/uia/flow/reauth/ReAuthStagesDataSource.kt
index ae90e2d0364c283311fd39828c893816f2106bbc..b464010d3f889be8e3d07a999ffdd42514205e7f 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/reauth/ReAuthStagesDataSource.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/uia/flow/reauth/ReAuthStagesDataSource.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.auth.feature.reauth
+package org.futo.circles.auth.feature.uia.flow.reauth
 
 import android.content.Context
 import dagger.hilt.android.qualifiers.ApplicationContext
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/log_in/EmptyFragment.kt b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/EmptyFragment.kt
similarity index 72%
rename from auth/src/main/java/org/futo/circles/auth/feature/log_in/EmptyFragment.kt
rename to auth/src/main/java/org/futo/circles/auth/feature/uia/stages/EmptyFragment.kt
index 65bf991491b3da367e9732f0689a24506e55c2aa..ffdd3e0472343eae8b8e9cfa6c3ef568fc3885f6 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/log_in/EmptyFragment.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/EmptyFragment.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.auth.feature.log_in
+package org.futo.circles.auth.feature.uia.stages
 
 import androidx.fragment.app.Fragment
 import org.futo.circles.auth.R
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/password/BsSpekeStageDataSource.kt b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/password/BsSpekeStageDataSource.kt
similarity index 99%
rename from auth/src/main/java/org/futo/circles/auth/feature/sign_up/password/BsSpekeStageDataSource.kt
rename to auth/src/main/java/org/futo/circles/auth/feature/uia/stages/password/BsSpekeStageDataSource.kt
index 9dcdd41a37caaf86be1951c622a497f1a40f42ba..8ef8708b7bc6511f2fea16e7b253e24efa1da776 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/password/BsSpekeStageDataSource.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/password/BsSpekeStageDataSource.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.auth.feature.sign_up.password
+package org.futo.circles.auth.feature.uia.stages.password
 
 import android.content.Context
 import android.util.Base64
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/password/PasswordDataSource.kt b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/password/PasswordDataSource.kt
similarity index 98%
rename from auth/src/main/java/org/futo/circles/auth/feature/sign_up/password/PasswordDataSource.kt
rename to auth/src/main/java/org/futo/circles/auth/feature/uia/stages/password/PasswordDataSource.kt
index f7f0f42699d87726c4cd9d46a1fd92335c470f42..265510cefdf32dd8478dc092f4c7180609744f15 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/password/PasswordDataSource.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/password/PasswordDataSource.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.auth.feature.sign_up.password
+package org.futo.circles.auth.feature.uia.stages.password
 
 import android.content.Context
 import dagger.hilt.android.qualifiers.ApplicationContext
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/password/PasswordFragment.kt b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/password/PasswordFragment.kt
similarity index 95%
rename from auth/src/main/java/org/futo/circles/auth/feature/sign_up/password/PasswordFragment.kt
rename to auth/src/main/java/org/futo/circles/auth/feature/uia/stages/password/PasswordFragment.kt
index b17fc1308377be330ed4b0c9e9a7700cc1a48f4f..5f768f58cae0478a1729e26598e7bc469cc37d21 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/password/PasswordFragment.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/password/PasswordFragment.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.auth.feature.sign_up.password
+package org.futo.circles.auth.feature.uia.stages.password
 
 import android.os.Bundle
 import android.view.View
@@ -11,7 +11,7 @@ import by.kirich1409.viewbindingdelegate.viewBinding
 import dagger.hilt.android.AndroidEntryPoint
 import org.futo.circles.auth.R
 import org.futo.circles.auth.databinding.FragmentPasswordBinding
-import org.futo.circles.auth.feature.sign_up.password.confirmation.SetupPasswordWarningDialog
+import org.futo.circles.auth.feature.uia.stages.password.confirmation.SetupPasswordWarningDialog
 import org.futo.circles.core.base.fragment.HasLoadingState
 import org.futo.circles.core.base.fragment.ParentBackPressOwnerFragment
 import org.futo.circles.core.extensions.getText
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/password/PasswordViewModel.kt b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/password/PasswordViewModel.kt
similarity index 93%
rename from auth/src/main/java/org/futo/circles/auth/feature/sign_up/password/PasswordViewModel.kt
rename to auth/src/main/java/org/futo/circles/auth/feature/uia/stages/password/PasswordViewModel.kt
index 21959f6148deb71be5cf82ff40d29ec3bed21a07..6db8e20ddddcf50156835b352fa6126f7d994435 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/password/PasswordViewModel.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/password/PasswordViewModel.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.auth.feature.sign_up.password
+package org.futo.circles.auth.feature.uia.stages.password
 
 import androidx.lifecycle.ViewModel
 import dagger.hilt.android.lifecycle.HiltViewModel
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/password/confirmation/SetupPasswordWarningDialog.kt b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/password/confirmation/SetupPasswordWarningDialog.kt
similarity index 93%
rename from auth/src/main/java/org/futo/circles/auth/feature/sign_up/password/confirmation/SetupPasswordWarningDialog.kt
rename to auth/src/main/java/org/futo/circles/auth/feature/uia/stages/password/confirmation/SetupPasswordWarningDialog.kt
index c82824761cc92a1bb1023325a7073fbf061817d4..3c3f4c0f62e37b77404b078ae96d12f1f475b0bd 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/password/confirmation/SetupPasswordWarningDialog.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/password/confirmation/SetupPasswordWarningDialog.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.auth.feature.sign_up.password.confirmation
+package org.futo.circles.auth.feature.uia.stages.password.confirmation
 
 import android.app.ActionBar
 import android.content.Context
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/subscription_stage/SubscriptionStageDataSource.kt b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/subscription_stage/SubscriptionStageDataSource.kt
similarity index 96%
rename from auth/src/main/java/org/futo/circles/auth/feature/sign_up/subscription_stage/SubscriptionStageDataSource.kt
rename to auth/src/main/java/org/futo/circles/auth/feature/uia/stages/subscription_stage/SubscriptionStageDataSource.kt
index 8e6c653fc43f3939652da2a3ac7b0ca06db5fd4a..bfc5055f08919fb5bf84ba7b1172b592eff04750 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/subscription_stage/SubscriptionStageDataSource.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/subscription_stage/SubscriptionStageDataSource.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.auth.feature.sign_up.subscription_stage
+package org.futo.circles.auth.feature.uia.stages.subscription_stage
 
 import org.futo.circles.auth.feature.uia.UIADataSource.Companion.REGISTRATION_SUBSCRIPTION_TYPE
 import org.futo.circles.auth.feature.uia.UIADataSource.Companion.TYPE_PARAM_KEY
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/subscription_stage/SubscriptionStageFragment.kt b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/subscription_stage/SubscriptionStageFragment.kt
similarity index 94%
rename from auth/src/main/java/org/futo/circles/auth/feature/sign_up/subscription_stage/SubscriptionStageFragment.kt
rename to auth/src/main/java/org/futo/circles/auth/feature/uia/stages/subscription_stage/SubscriptionStageFragment.kt
index 6e723478ab4b6c616af2f1559e655f86bec18c3d..92f6fb7fadc52fbe4a01cb490cd8774015591648 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/subscription_stage/SubscriptionStageFragment.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/subscription_stage/SubscriptionStageFragment.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.auth.feature.sign_up.subscription_stage
+package org.futo.circles.auth.feature.uia.stages.subscription_stage
 
 import android.os.Bundle
 import android.view.View
@@ -9,7 +9,7 @@ import com.google.android.material.divider.MaterialDividerItemDecoration
 import dagger.hilt.android.AndroidEntryPoint
 import org.futo.circles.auth.R
 import org.futo.circles.auth.databinding.FragmentSubscriptionStageBinding
-import org.futo.circles.auth.feature.sign_up.subscription_stage.list.SubscriptionsAdapter
+import org.futo.circles.auth.feature.uia.stages.subscription_stage.list.SubscriptionsAdapter
 import org.futo.circles.auth.model.SubscriptionReceiptData
 import org.futo.circles.auth.subscriptions.ItemPurchasedListener
 import org.futo.circles.auth.subscriptions.SubscriptionProvider
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/subscription_stage/SubscriptionStageViewModel.kt b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/subscription_stage/SubscriptionStageViewModel.kt
similarity index 97%
rename from auth/src/main/java/org/futo/circles/auth/feature/sign_up/subscription_stage/SubscriptionStageViewModel.kt
rename to auth/src/main/java/org/futo/circles/auth/feature/uia/stages/subscription_stage/SubscriptionStageViewModel.kt
index 65d58bc5e206c0c1510c65ae44b45ff15ea5526c..cd838a003c7bfac461526326f2aff1737c3b068d 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/subscription_stage/SubscriptionStageViewModel.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/subscription_stage/SubscriptionStageViewModel.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.auth.feature.sign_up.subscription_stage
+package org.futo.circles.auth.feature.uia.stages.subscription_stage
 
 import androidx.lifecycle.MutableLiveData
 import androidx.lifecycle.ViewModel
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/subscription_stage/list/SubscriptionViewHolder.kt b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/subscription_stage/list/SubscriptionViewHolder.kt
similarity index 92%
rename from auth/src/main/java/org/futo/circles/auth/feature/sign_up/subscription_stage/list/SubscriptionViewHolder.kt
rename to auth/src/main/java/org/futo/circles/auth/feature/uia/stages/subscription_stage/list/SubscriptionViewHolder.kt
index b14da3fa1c70fea6658c18d8639899a4cd67bcbd..2e84a24dfaa9e3cff6bd58470ff3d378bfb124c6 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/subscription_stage/list/SubscriptionViewHolder.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/subscription_stage/list/SubscriptionViewHolder.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.auth.feature.sign_up.subscription_stage.list
+package org.futo.circles.auth.feature.uia.stages.subscription_stage.list
 
 import android.view.ViewGroup
 import androidx.recyclerview.widget.RecyclerView
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/subscription_stage/list/SubscriptionsAdapter.kt b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/subscription_stage/list/SubscriptionsAdapter.kt
similarity index 90%
rename from auth/src/main/java/org/futo/circles/auth/feature/sign_up/subscription_stage/list/SubscriptionsAdapter.kt
rename to auth/src/main/java/org/futo/circles/auth/feature/uia/stages/subscription_stage/list/SubscriptionsAdapter.kt
index 4adda9540a9e86bb7446265ca4e85c302e416dff..d8160878b5069a9e37a1ee93ea77e8aa678e5db2 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/subscription_stage/list/SubscriptionsAdapter.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/subscription_stage/list/SubscriptionsAdapter.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.auth.feature.sign_up.subscription_stage.list
+package org.futo.circles.auth.feature.uia.stages.subscription_stage.list
 
 import android.view.ViewGroup
 import org.futo.circles.core.base.list.BaseRvAdapter
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/terms/AcceptTermsDataSource.kt b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/terms/AcceptTermsDataSource.kt
similarity index 96%
rename from auth/src/main/java/org/futo/circles/auth/feature/sign_up/terms/AcceptTermsDataSource.kt
rename to auth/src/main/java/org/futo/circles/auth/feature/uia/stages/terms/AcceptTermsDataSource.kt
index 9f900dfc2ed5f8feda49259cc9f6824ca317db59..f67bb85d22a0c22f2676359347535ce239655c4c 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/terms/AcceptTermsDataSource.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/terms/AcceptTermsDataSource.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.auth.feature.sign_up.terms
+package org.futo.circles.auth.feature.uia.stages.terms
 
 import androidx.lifecycle.MutableLiveData
 import org.futo.circles.auth.extensions.toTermsListItems
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/terms/AcceptTermsFragment.kt b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/terms/AcceptTermsFragment.kt
similarity index 95%
rename from auth/src/main/java/org/futo/circles/auth/feature/sign_up/terms/AcceptTermsFragment.kt
rename to auth/src/main/java/org/futo/circles/auth/feature/uia/stages/terms/AcceptTermsFragment.kt
index ee5643d5c2e7e50a7965262832dfde828435fa10..8b0912dc799c37fdca32a3762bb3256a92403cdf 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/terms/AcceptTermsFragment.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/terms/AcceptTermsFragment.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.auth.feature.sign_up.terms
+package org.futo.circles.auth.feature.uia.stages.terms
 
 import android.os.Bundle
 import android.view.View
@@ -10,7 +10,7 @@ import dagger.hilt.android.AndroidEntryPoint
 import org.futo.circles.auth.R
 import org.futo.circles.auth.databinding.FragmentAcceptTermsBinding
 import org.futo.circles.auth.extensions.openCustomTabUrl
-import org.futo.circles.auth.feature.sign_up.terms.list.TermsListAdapter
+import org.futo.circles.auth.feature.uia.stages.terms.list.TermsListAdapter
 import org.futo.circles.auth.model.TermsListItem
 import org.futo.circles.core.base.fragment.HasLoadingState
 import org.futo.circles.core.base.fragment.ParentBackPressOwnerFragment
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/terms/AcceptTermsViewModel.kt b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/terms/AcceptTermsViewModel.kt
similarity index 93%
rename from auth/src/main/java/org/futo/circles/auth/feature/sign_up/terms/AcceptTermsViewModel.kt
rename to auth/src/main/java/org/futo/circles/auth/feature/uia/stages/terms/AcceptTermsViewModel.kt
index 99354af764a5a495ce4fde269734f6b23b009b17..aef81d8b116faa1c983d7cfc0a32a037d8f0f8b3 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/terms/AcceptTermsViewModel.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/terms/AcceptTermsViewModel.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.auth.feature.sign_up.terms
+package org.futo.circles.auth.feature.uia.stages.terms
 
 import androidx.lifecycle.ViewModel
 import dagger.hilt.android.lifecycle.HiltViewModel
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/terms/list/TermsItemViewHolder.kt b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/terms/list/TermsItemViewHolder.kt
similarity index 94%
rename from auth/src/main/java/org/futo/circles/auth/feature/sign_up/terms/list/TermsItemViewHolder.kt
rename to auth/src/main/java/org/futo/circles/auth/feature/uia/stages/terms/list/TermsItemViewHolder.kt
index 12a2d1082ce369e994737630fa0d6e5f30609bc8..1bf7ecbc75011eff6c445e31ed75b3e7ac6db3fa 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/terms/list/TermsItemViewHolder.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/terms/list/TermsItemViewHolder.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.auth.feature.sign_up.terms.list
+package org.futo.circles.auth.feature.uia.stages.terms.list
 
 import android.view.ViewGroup
 import androidx.recyclerview.widget.RecyclerView
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/terms/list/TermsListAdapter.kt b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/terms/list/TermsListAdapter.kt
similarity index 92%
rename from auth/src/main/java/org/futo/circles/auth/feature/sign_up/terms/list/TermsListAdapter.kt
rename to auth/src/main/java/org/futo/circles/auth/feature/uia/stages/terms/list/TermsListAdapter.kt
index b63db703ab1633b080cb4157cb851cd9d5c176d3..f3065d4b84f43622bc10f192f52e44603854fb2b 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/terms/list/TermsListAdapter.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/terms/list/TermsListAdapter.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.auth.feature.sign_up.terms.list
+package org.futo.circles.auth.feature.uia.stages.terms.list
 
 
 import android.view.ViewGroup
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/username/UsernameDataSource.kt b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/username/UsernameDataSource.kt
similarity index 94%
rename from auth/src/main/java/org/futo/circles/auth/feature/sign_up/username/UsernameDataSource.kt
rename to auth/src/main/java/org/futo/circles/auth/feature/uia/stages/username/UsernameDataSource.kt
index aac9cf77c3b7396bb57f98fd8f4c791bc35116f0..25c3e3b82187f686f0a1c3a5182836a909dd212b 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/username/UsernameDataSource.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/username/UsernameDataSource.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.auth.feature.sign_up.username
+package org.futo.circles.auth.feature.uia.stages.username
 
 import androidx.lifecycle.MutableLiveData
 import org.futo.circles.auth.feature.uia.UIADataSource.Companion.REGISTRATION_USERNAME_TYPE
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/username/UsernameFragment.kt b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/username/UsernameFragment.kt
similarity index 97%
rename from auth/src/main/java/org/futo/circles/auth/feature/sign_up/username/UsernameFragment.kt
rename to auth/src/main/java/org/futo/circles/auth/feature/uia/stages/username/UsernameFragment.kt
index b1e07753e7d5fceec0714fb25eded0e9e6f15fd3..682e7238f9abd13092870a63ffb3982623a98560 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/username/UsernameFragment.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/username/UsernameFragment.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.auth.feature.sign_up.username
+package org.futo.circles.auth.feature.uia.stages.username
 
 import android.os.Bundle
 import android.text.InputFilter
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/username/UsernameViewModel.kt b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/username/UsernameViewModel.kt
similarity index 93%
rename from auth/src/main/java/org/futo/circles/auth/feature/sign_up/username/UsernameViewModel.kt
rename to auth/src/main/java/org/futo/circles/auth/feature/uia/stages/username/UsernameViewModel.kt
index 6a7ac038d09aa9c4a7da63f43f9be9138c2fa1d1..870e462fa34defdf4d1af09a5cfc55137b853034 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/username/UsernameViewModel.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/username/UsernameViewModel.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.auth.feature.sign_up.username
+package org.futo.circles.auth.feature.uia.stages.username
 
 import androidx.lifecycle.ViewModel
 import dagger.hilt.android.lifecycle.HiltViewModel
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/validate_email/ValidateEmailDataSource.kt b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/validate_email/ValidateEmailDataSource.kt
similarity index 96%
rename from auth/src/main/java/org/futo/circles/auth/feature/sign_up/validate_email/ValidateEmailDataSource.kt
rename to auth/src/main/java/org/futo/circles/auth/feature/uia/stages/validate_email/ValidateEmailDataSource.kt
index af645199682ffb0c30c49acd6f95cd72f58cbbed..083a9d1d76a9491a67e0dbb9e86d59953a723a34 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/validate_email/ValidateEmailDataSource.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/validate_email/ValidateEmailDataSource.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.auth.feature.sign_up.validate_email
+package org.futo.circles.auth.feature.uia.stages.validate_email
 
 import org.futo.circles.auth.feature.uia.UIADataSource.Companion.REGISTRATION_EMAIL_REQUEST_TOKEN_TYPE
 import org.futo.circles.auth.feature.uia.UIADataSource.Companion.REGISTRATION_EMAIL_SUBMIT_TOKEN_TYPE
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/validate_email/ValidateEmailFragment.kt b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/validate_email/ValidateEmailFragment.kt
similarity index 98%
rename from auth/src/main/java/org/futo/circles/auth/feature/sign_up/validate_email/ValidateEmailFragment.kt
rename to auth/src/main/java/org/futo/circles/auth/feature/uia/stages/validate_email/ValidateEmailFragment.kt
index 93f52bb96cac30c7725189e9e1b786511603f7fe..8a216fa21b288683366da6b41e5f444facc8413e 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/validate_email/ValidateEmailFragment.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/validate_email/ValidateEmailFragment.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.auth.feature.sign_up.validate_email
+package org.futo.circles.auth.feature.uia.stages.validate_email
 
 import android.os.Bundle
 import android.view.View
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/validate_email/ValidateEmailViewModel.kt b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/validate_email/ValidateEmailViewModel.kt
similarity index 95%
rename from auth/src/main/java/org/futo/circles/auth/feature/sign_up/validate_email/ValidateEmailViewModel.kt
rename to auth/src/main/java/org/futo/circles/auth/feature/uia/stages/validate_email/ValidateEmailViewModel.kt
index dcd9b7d452c4f7d8284bcdc1bf2feef5fd128da8..0f119f467c02c3588cacd6dba635ed90fd35354f 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/validate_email/ValidateEmailViewModel.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/validate_email/ValidateEmailViewModel.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.auth.feature.sign_up.validate_email
+package org.futo.circles.auth.feature.uia.stages.validate_email
 
 import androidx.lifecycle.MutableLiveData
 import androidx.lifecycle.ViewModel
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/validate_token/ValidateTokenDataSource.kt b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/validate_token/ValidateTokenDataSource.kt
similarity index 93%
rename from auth/src/main/java/org/futo/circles/auth/feature/sign_up/validate_token/ValidateTokenDataSource.kt
rename to auth/src/main/java/org/futo/circles/auth/feature/uia/stages/validate_token/ValidateTokenDataSource.kt
index 832dbcc539e6c40ccb8fbfafcec5a5bf1b4ac3a8..a35f11aee2f37561358a91f6fb5adda11a757b46 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/validate_token/ValidateTokenDataSource.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/validate_token/ValidateTokenDataSource.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.auth.feature.sign_up.validate_token
+package org.futo.circles.auth.feature.uia.stages.validate_token
 
 import org.futo.circles.auth.feature.uia.UIADataSource.Companion.REGISTRATION_TOKEN_TYPE
 import org.futo.circles.auth.feature.uia.UIADataSource.Companion.TYPE_PARAM_KEY
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/validate_token/ValidateTokenFragment.kt b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/validate_token/ValidateTokenFragment.kt
similarity index 96%
rename from auth/src/main/java/org/futo/circles/auth/feature/sign_up/validate_token/ValidateTokenFragment.kt
rename to auth/src/main/java/org/futo/circles/auth/feature/uia/stages/validate_token/ValidateTokenFragment.kt
index 32cec67c49c678e3696677eb7d0469a047565a16..a7131300009e60d58870219acd1b3c0a89c34d39 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/validate_token/ValidateTokenFragment.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/validate_token/ValidateTokenFragment.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.auth.feature.sign_up.validate_token
+package org.futo.circles.auth.feature.uia.stages.validate_token
 
 import android.os.Bundle
 import android.view.View
diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/validate_token/ValidateTokenViewModel.kt b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/validate_token/ValidateTokenViewModel.kt
similarity index 91%
rename from auth/src/main/java/org/futo/circles/auth/feature/sign_up/validate_token/ValidateTokenViewModel.kt
rename to auth/src/main/java/org/futo/circles/auth/feature/uia/stages/validate_token/ValidateTokenViewModel.kt
index a17e35e81441ae7bcaa0a1380dd15b0ef83b81bd..05c34f9ebba287d1c949c2a3a00e62d343bb3d9e 100644
--- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/validate_token/ValidateTokenViewModel.kt
+++ b/auth/src/main/java/org/futo/circles/auth/feature/uia/stages/validate_token/ValidateTokenViewModel.kt
@@ -1,4 +1,4 @@
-package org.futo.circles.auth.feature.sign_up.validate_token
+package org.futo.circles.auth.feature.uia.stages.validate_token
 
 import androidx.lifecycle.ViewModel
 import dagger.hilt.android.lifecycle.HiltViewModel
diff --git a/auth/src/main/res/navigation/uia_nav_graph.xml b/auth/src/main/res/navigation/uia_nav_graph.xml
index 2d1abd7c9000a62262cb528e5d22e2ab45e21699..50842c7330d467183b74ecf29bca0b60a2bff7ce 100644
--- a/auth/src/main/res/navigation/uia_nav_graph.xml
+++ b/auth/src/main/res/navigation/uia_nav_graph.xml
@@ -33,36 +33,36 @@
 
     <fragment
         android:id="@+id/validateTokenFragment"
-        android:name="org.futo.circles.auth.feature.sign_up.validate_token.ValidateTokenFragment"
+        android:name="org.futo.circles.auth.feature.uia.stages.validate_token.ValidateTokenFragment"
         tools:layout="@layout/fragment_validate_token" />
 
     <fragment
         android:id="@+id/validateEmailFragment"
-        android:name="org.futo.circles.auth.feature.sign_up.validate_email.ValidateEmailFragment"
+        android:name="org.futo.circles.auth.feature.uia.stages.validate_email.ValidateEmailFragment"
         tools:layout="@layout/fragment_validate_email" />
 
     <fragment
         android:id="@+id/acceptTermsFragment"
-        android:name="org.futo.circles.auth.feature.sign_up.terms.AcceptTermsFragment"
+        android:name="org.futo.circles.auth.feature.uia.stages.terms.AcceptTermsFragment"
         tools:layout="@layout/fragment_accept_terms" />
 
     <fragment
         android:id="@+id/subscriptionStageFragment"
-        android:name="org.futo.circles.auth.feature.sign_up.subscription_stage.SubscriptionStageFragment"
+        android:name="org.futo.circles.auth.feature.uia.stages.subscription_stage.SubscriptionStageFragment"
         tools:layout="@layout/fragment_subscription_stage" />
     <fragment
         android:id="@+id/passwordFragment"
-        android:name="org.futo.circles.auth.feature.sign_up.password.PasswordFragment"
+        android:name="org.futo.circles.auth.feature.uia.stages.password.PasswordFragment"
         tools:layout="@layout/fragment_password" />
 
     <fragment
         android:id="@+id/usernameFragment"
-        android:name="org.futo.circles.auth.feature.sign_up.username.UsernameFragment"
+        android:name="org.futo.circles.auth.feature.uia.stages.username.UsernameFragment"
         tools:layout="@layout/fragment_username" />
 
     <fragment
         android:id="@+id/emptyFragment"
-        android:name="org.futo.circles.auth.feature.log_in.EmptyFragment"
+        android:name="org.futo.circles.auth.feature.uia.stages.EmptyFragment"
         tools:layout="@layout/fragment_empty" />