diff --git a/app/src/main/java/com/onionsquad/bondoman/MainActivity.kt b/app/src/main/java/com/onionsquad/bondoman/MainActivity.kt
index f60afdf2354f5cb2ef1aeee6c26f25f3ed91bcac..a6ad2b9fb755fc340a1eb96c21c88a0dc4708055 100644
--- a/app/src/main/java/com/onionsquad/bondoman/MainActivity.kt
+++ b/app/src/main/java/com/onionsquad/bondoman/MainActivity.kt
@@ -2,13 +2,12 @@ package com.onionsquad.bondoman
 
 import android.content.Intent
 import android.os.Bundle
-import android.util.Log
-import com.google.android.material.bottomnavigation.BottomNavigationView
 import androidx.appcompat.app.AppCompatActivity
 import androidx.navigation.findNavController
 import androidx.navigation.ui.AppBarConfiguration
 import androidx.navigation.ui.setupActionBarWithNavController
 import androidx.navigation.ui.setupWithNavController
+import com.google.android.material.bottomnavigation.BottomNavigationView
 import com.onionsquad.bondoman.auth.SessionManager
 import com.onionsquad.bondoman.databinding.ActivityMainBinding
 import com.onionsquad.bondoman.ui.login.LoginActivity
@@ -41,6 +40,8 @@ class MainActivity : AppCompatActivity() {
 
     private fun sendToLoginActivity() {
         val intent = Intent(this@MainActivity, LoginActivity::class.java)
+        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_CLEAR_TASK)
         startActivity(intent)
+        finish()
     }
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/onionsquad/bondoman/ui/login/LoginActivity.kt b/app/src/main/java/com/onionsquad/bondoman/ui/login/LoginActivity.kt
index ca62505703824d2c72b2b31f6d8b770fb2b376a0..3eace85f0832e12fce0cf2201091ba1bdfeb9c3b 100644
--- a/app/src/main/java/com/onionsquad/bondoman/ui/login/LoginActivity.kt
+++ b/app/src/main/java/com/onionsquad/bondoman/ui/login/LoginActivity.kt
@@ -1,6 +1,7 @@
 package com.onionsquad.bondoman.ui.login
 
 import android.app.Activity
+import android.content.Intent
 import androidx.lifecycle.Observer
 import androidx.lifecycle.ViewModelProvider
 import android.os.Bundle
@@ -11,6 +12,7 @@ import android.view.View
 import android.view.inputmethod.EditorInfo
 import android.widget.EditText
 import android.widget.Toast
+import com.onionsquad.bondoman.MainActivity
 import com.onionsquad.bondoman.databinding.ActivityLoginBinding
 
 import com.onionsquad.bondoman.R
@@ -55,8 +57,7 @@ class LoginActivity : AppCompatActivity() {
                     if (loginResult.success != null) {
                         sessionManager.saveAuthToken(loginResult.success)
                         showLoginSuccess()
-                        setResult(Activity.RESULT_OK)
-                        finish()
+                        sendToMainActivity()
                     }
                 })
             }
@@ -94,6 +95,13 @@ class LoginActivity : AppCompatActivity() {
         }
     }
 
+    private fun sendToMainActivity() {
+        val intent = Intent(this@LoginActivity, MainActivity::class.java)
+        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_CLEAR_TASK)
+        startActivity(intent)
+        finish()
+    }
+
     private fun showLoginSuccess() {
         Toast.makeText(applicationContext, R.string.login_success, Toast.LENGTH_LONG).show()
     }
diff --git a/app/src/main/java/com/onionsquad/bondoman/ui/settings/SettingsFragment.kt b/app/src/main/java/com/onionsquad/bondoman/ui/settings/SettingsFragment.kt
index dc153a26a1d0a02e397c9400600979bbc3a8be75..ca0aa81d6383bd4a0fccad0625fca1b9176f558b 100644
--- a/app/src/main/java/com/onionsquad/bondoman/ui/settings/SettingsFragment.kt
+++ b/app/src/main/java/com/onionsquad/bondoman/ui/settings/SettingsFragment.kt
@@ -4,15 +4,17 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import android.widget.Toast
 import androidx.fragment.app.Fragment
 import androidx.lifecycle.ViewModelProvider
+import androidx.navigation.fragment.findNavController
+import com.onionsquad.bondoman.R
+import com.onionsquad.bondoman.auth.SessionManager
 import com.onionsquad.bondoman.databinding.FragmentSettingsBinding
 
 class SettingsFragment : Fragment() {
     private var _binding: FragmentSettingsBinding? = null
 
-    // This property is only valid between onCreateView and
-    // onDestroyView.
     private val binding get() = _binding!!
 
     override fun onCreateView(
@@ -20,11 +22,19 @@ class SettingsFragment : Fragment() {
         container: ViewGroup?,
         savedInstanceState: Bundle?
     ): View {
-        val transactionViewModel =
-            ViewModelProvider(this).get(SettingsViewModel::class.java)
-
         _binding = FragmentSettingsBinding.inflate(inflater, container, false)
 
+        val sessionManager = SessionManager(requireContext())
+
+        binding.apply {
+            logoutButton.setOnClickListener {
+                sessionManager.deleteAuthToken()
+                Toast.makeText(requireContext(), "Log out success", Toast.LENGTH_SHORT).show()
+                findNavController().popBackStack(R.id.navigation_transaction, true)
+                requireActivity().recreate()
+            }
+        }
+
         return binding.root
     }
 
diff --git a/app/src/main/java/com/onionsquad/bondoman/ui/settings/SettingsViewModel.kt b/app/src/main/java/com/onionsquad/bondoman/ui/settings/SettingsViewModel.kt
deleted file mode 100644
index a877767c5378529d02be28a4688b0589b13d6064..0000000000000000000000000000000000000000
--- a/app/src/main/java/com/onionsquad/bondoman/ui/settings/SettingsViewModel.kt
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.onionsquad.bondoman.ui.settings
-
-import androidx.lifecycle.LiveData
-import androidx.lifecycle.MutableLiveData
-import androidx.lifecycle.ViewModel
-
-class SettingsViewModel : ViewModel() {
-    private val _text = MutableLiveData<String>().apply {
-        value = "This is notifications Fragment"
-    }
-    val text: LiveData<String> = _text
-}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_baseline_logout_24.xml b/app/src/main/res/drawable/ic_baseline_logout_24.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c22a96f911c6a8c7615c8e149ee796eddc23d449
--- /dev/null
+++ b/app/src/main/res/drawable/ic_baseline_logout_24.xml
@@ -0,0 +1,5 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android" android:autoMirrored="true" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
+      
+    <path android:fillColor="@android:color/white" android:pathData="M17,7l-1.41,1.41L18.17,11H8v2h10.17l-2.58,2.58L17,17l5,-5zM4,5h8V3H4c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h8v-2H4V5z"/>
+    
+</vector>
diff --git a/app/src/main/res/layout/fragment_settings.xml b/app/src/main/res/layout/fragment_settings.xml
index 441476f744f7bedaef0590d7b4b632a82ee0354d..570a31e7a5eb1be342b0845e3542c86cfe97a81c 100644
--- a/app/src/main/res/layout/fragment_settings.xml
+++ b/app/src/main/res/layout/fragment_settings.xml
@@ -5,4 +5,14 @@
     android:layout_height="match_parent"
     tools:context=".ui.settings.SettingsFragment">
 
+    <Button
+        android:id="@+id/logout_button"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:textAlignment="textStart"
+        android:textColor="@color/design_default_color_error"
+        android:backgroundTint="@color/white"
+        android:drawableLeft="@drawable/ic_baseline_logout_24"
+        android:drawableTint="@color/design_default_color_error"
+        android:text="@string/action_sign_out" />
 </FrameLayout>
\ No newline at end of file
diff --git a/app/src/main/res/navigation/mobile_navigation.xml b/app/src/main/res/navigation/mobile_navigation.xml
index fc575e810de8c1a52bac57a9d44e78422bee791d..f7d84c6783037f11b61b8f406f6570a4d374a7a9 100644
--- a/app/src/main/res/navigation/mobile_navigation.xml
+++ b/app/src/main/res/navigation/mobile_navigation.xml
@@ -7,21 +7,21 @@
 
     <fragment
         android:id="@+id/navigation_transaction"
-        android:name="com.onionsquad.bondoman.ui.graph.GraphFragment"
+        android:name="com.onionsquad.bondoman.ui.transaction.TransactionFragment"
         android:label="@string/title_transaction"
-        tools:layout="@layout/fragment_graph" />
+        tools:layout="@layout/fragment_transaction" />
 
     <fragment
         android:id="@+id/navigation_scan"
-        android:name="com.onionsquad.bondoman.ui.transaction.TransactionFragment"
+        android:name="com.onionsquad.bondoman.ui.scan.ScanFragment"
         android:label="@string/title_scan"
-        tools:layout="@layout/fragment_transaction" />
+        tools:layout="@layout/fragment_scan" />
 
     <fragment
         android:id="@+id/navigation_graph"
-        android:name="com.onionsquad.bondoman.ui.scan.ScanFragment"
+        android:name="com.onionsquad.bondoman.ui.graph.GraphFragment"
         android:label="@string/title_graph"
-        tools:layout="@layout/fragment_scan" />
+        tools:layout="@layout/fragment_graph" />
     <fragment
         android:id="@+id/navigation_settings"
         android:name="com.onionsquad.bondoman.ui.settings.SettingsFragment"
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 52050323c033c7b9b997106f15c3f861496d4d28..dfc80c0ba927362dd53849ff4c5986dcce5d03f0 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -12,4 +12,5 @@
     <string name="invalid_email">Not a valid email</string>
     <string name="login_failed">"Login failed"</string>
     <string name="preference_file_key">BondomanSharedPrefs</string>
+    <string name="action_sign_out">Sign out</string>
 </resources>
\ No newline at end of file