diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 90e58ffcb3d80d0a0a54e76c84a50e851c622ad6..22ee8f9414e2f0247046571a9acda962e5fdabf7 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -8,14 +8,14 @@
   <!--<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />-->
 
   <application
-    android:name="de.kuschku.quasseldroid.QuasselDroid"
+    android:name=".QuasselDroid"
     android:allowBackup="true"
     android:icon="@mipmap/ic_launcher"
     android:label="@string/app_name"
     android:supportsRtl="true"
     android:theme="@style/Theme.SplashTheme">
     <activity
-      android:name="de.kuschku.quasseldroid.ui.chat.ChatActivity"
+      android:name=".ui.chat.ChatActivity"
       android:exported="true"
       android:label="@string/app_name"
       android:launchMode="singleTask"
@@ -34,31 +34,32 @@
     </activity>
 
     <activity
-      android:name="de.kuschku.quasseldroid.ui.setup.accounts.setup.AccountSetupActivity"
+      android:name=".ui.setup.accounts.setup.AccountSetupActivity"
       android:exported="false"
       android:label="@string/app_name"
-      android:parentActivityName="de.kuschku.quasseldroid.ui.setup.accounts.selection.AccountSelectionActivity"
+      android:parentActivityName=".ui.setup.accounts.selection.AccountSelectionActivity"
       android:windowSoftInputMode="adjustResize" />
     <activity
-      android:name="de.kuschku.quasseldroid.ui.setup.accounts.edit.AccountEditActivity"
+      android:name=".ui.setup.accounts.edit.AccountEditActivity"
       android:exported="false"
       android:label="@string/app_name"
-      android:parentActivityName="de.kuschku.quasseldroid.ui.setup.accounts.selection.AccountSelectionActivity"
+      android:parentActivityName=".ui.setup.accounts.selection.AccountSelectionActivity"
       android:windowSoftInputMode="adjustResize" />
     <activity
-      android:name="de.kuschku.quasseldroid.ui.settings.SettingsActivity"
+      android:name=".ui.settings.app.AppSettingsActivity"
       android:exported="false"
       android:label="@string/label_settings"
-      android:parentActivityName="de.kuschku.quasseldroid.ui.setup.accounts.selection.AccountSelectionActivity"
+      android:parentActivityName=".ui.chat.ChatActivity"
       android:windowSoftInputMode="adjustResize" />
     <activity
-      android:name="de.kuschku.quasseldroid.ui.setup.accounts.selection.AccountSelectionActivity"
+      android:name=".ui.setup.accounts.selection.AccountSelectionActivity"
       android:exported="false"
       android:label="@string/app_name"
+      android:parentActivityName=".ui.chat.ChatActivity"
       android:windowSoftInputMode="adjustResize" />
 
     <service
-      android:name="de.kuschku.quasseldroid.service.QuasselService"
+      android:name=".service.QuasselService"
       android:description="@string/connection_service_description"
       android:exported="false"
       android:label="@string/connection_service_title" />
diff --git a/app/src/main/java/de/kuschku/quasseldroid/dagger/ActivityModule.kt b/app/src/main/java/de/kuschku/quasseldroid/dagger/ActivityModule.kt
index 91d1300d42ebe8b2066f3fa157dacff6f0b77c1e..32b549b60bfe69ab6459e2eb1e459bae60c9fd91 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/dagger/ActivityModule.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/dagger/ActivityModule.kt
@@ -6,8 +6,8 @@ import de.kuschku.quasseldroid.service.QuasselService
 import de.kuschku.quasseldroid.ui.chat.ChatActivity
 import de.kuschku.quasseldroid.ui.chat.ChatActivityModule
 import de.kuschku.quasseldroid.ui.chat.ChatFragmentProvider
-import de.kuschku.quasseldroid.ui.settings.SettingsActivity
-import de.kuschku.quasseldroid.ui.settings.SettingsFragmentProvider
+import de.kuschku.quasseldroid.ui.settings.app.AppSettingsActivity
+import de.kuschku.quasseldroid.ui.settings.app.AppSettingsFragmentProvider
 import de.kuschku.quasseldroid.ui.setup.accounts.edit.AccountEditActivity
 import de.kuschku.quasseldroid.ui.setup.accounts.selection.AccountSelectionActivity
 import de.kuschku.quasseldroid.ui.setup.accounts.selection.AccountSelectionFragmentProvider
@@ -19,8 +19,8 @@ abstract class ActivityModule {
   @ContributesAndroidInjector(modules = [ChatActivityModule::class, ChatFragmentProvider::class])
   abstract fun bindChatActivity(): ChatActivity
 
-  @ContributesAndroidInjector(modules = [SettingsFragmentProvider::class])
-  abstract fun bindSettingsActivity(): SettingsActivity
+  @ContributesAndroidInjector(modules = [AppSettingsFragmentProvider::class])
+  abstract fun bindAppSettingsActivity(): AppSettingsActivity
 
   @ContributesAndroidInjector(modules = [AccountSetupFragmentProvider::class])
   abstract fun bindAccountSetupActivity(): AccountSetupActivity
diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatActivity.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatActivity.kt
index f06944fd3a7ff0d7897b5504dde0fb4cdb99122c..5365c3e4002659076f827a8d52342975e8c06899 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatActivity.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatActivity.kt
@@ -37,7 +37,7 @@ import de.kuschku.quasseldroid.R
 import de.kuschku.quasseldroid.persistence.QuasselDatabase
 import de.kuschku.quasseldroid.ui.chat.input.Editor
 import de.kuschku.quasseldroid.ui.chat.input.MessageHistoryAdapter
-import de.kuschku.quasseldroid.ui.settings.SettingsActivity
+import de.kuschku.quasseldroid.ui.settings.app.AppSettingsActivity
 import de.kuschku.quasseldroid.util.helper.editCommit
 import de.kuschku.quasseldroid.util.helper.invoke
 import de.kuschku.quasseldroid.util.helper.toLiveData
@@ -346,7 +346,7 @@ class ChatActivity : ServiceBoundActivity(), SharedPreferences.OnSharedPreferenc
       true
     }
     R.id.settings        -> {
-      startActivity(Intent(applicationContext, SettingsActivity::class.java))
+      startActivity(Intent(applicationContext, AppSettingsActivity::class.java))
       true
     }
     R.id.disconnect      -> {
diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/SettingsActivity.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/settings/SettingsActivity.kt
index 9a5526a8cb221cd16921dbfb3bae46e88c9322bf..99f2657f894f1bd7ac35fa9b86e546558885ce92 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/SettingsActivity.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/settings/SettingsActivity.kt
@@ -1,13 +1,16 @@
 package de.kuschku.quasseldroid.ui.settings
 
 import android.os.Bundle
+import android.support.v4.app.Fragment
 import android.support.v7.widget.Toolbar
 import butterknife.BindView
 import butterknife.ButterKnife
 import de.kuschku.quasseldroid.R
 import de.kuschku.quasseldroid.util.service.ServiceBoundActivity
 
-class SettingsActivity : ServiceBoundActivity() {
+abstract class SettingsActivity : ServiceBoundActivity() {
+  protected abstract val fragment: Fragment
+
   @BindView(R.id.toolbar)
   lateinit var toolbar: Toolbar
 
@@ -18,5 +21,9 @@ class SettingsActivity : ServiceBoundActivity() {
 
     setSupportActionBar(toolbar)
     supportActionBar?.setDisplayHomeAsUpEnabled(true)
+
+    val transaction = supportFragmentManager.beginTransaction()
+    transaction.add(R.id.fragment_container, fragment)
+    transaction.commit()
   }
 }
\ No newline at end of file
diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/SettingsFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/settings/SettingsFragmentProvider.kt
deleted file mode 100644
index 2011afc84bc2ec7ecedc08b9d712a1e47e20df43..0000000000000000000000000000000000000000
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/SettingsFragmentProvider.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-package de.kuschku.quasseldroid.ui.settings
-
-import dagger.Module
-import dagger.android.ContributesAndroidInjector
-
-@Module
-abstract class SettingsFragmentProvider {
-  @ContributesAndroidInjector
-  abstract fun bindSettingsFragment(): SettingsFragment
-}
\ No newline at end of file
diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/app/AppSettingsActivity.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/settings/app/AppSettingsActivity.kt
new file mode 100644
index 0000000000000000000000000000000000000000..d1127016e14080268158ef26c78e03567e59bfd8
--- /dev/null
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/settings/app/AppSettingsActivity.kt
@@ -0,0 +1,7 @@
+package de.kuschku.quasseldroid.ui.settings.app
+
+import de.kuschku.quasseldroid.ui.settings.SettingsActivity
+
+class AppSettingsActivity : SettingsActivity() {
+  override val fragment = AppSettingsFragment()
+}
\ No newline at end of file
diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/SettingsFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/settings/app/AppSettingsFragment.kt
similarity index 89%
rename from app/src/main/java/de/kuschku/quasseldroid/ui/settings/SettingsFragment.kt
rename to app/src/main/java/de/kuschku/quasseldroid/ui/settings/app/AppSettingsFragment.kt
index 4f0203de6167ee8024ac1e0390935f14c2cfb00d..08abd25c9b46f92a441d8ea30dd7d2ae1997bfa4 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/SettingsFragment.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/settings/app/AppSettingsFragment.kt
@@ -1,4 +1,4 @@
-package de.kuschku.quasseldroid.ui.settings
+package de.kuschku.quasseldroid.ui.settings.app
 
 import android.content.SharedPreferences
 import android.os.Bundle
@@ -11,8 +11,8 @@ import de.kuschku.quasseldroid.settings.Settings
 import de.kuschku.quasseldroid.util.backport.DaggerPreferenceFragmentCompat
 import javax.inject.Inject
 
-class SettingsFragment : DaggerPreferenceFragmentCompat(),
-                         SharedPreferences.OnSharedPreferenceChangeListener {
+class AppSettingsFragment : DaggerPreferenceFragmentCompat(),
+                            SharedPreferences.OnSharedPreferenceChangeListener {
   @Inject
   lateinit var appearanceSettings: AppearanceSettings
 
diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/settings/app/AppSettingsFragmentProvider.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/settings/app/AppSettingsFragmentProvider.kt
new file mode 100644
index 0000000000000000000000000000000000000000..15b0a5bd5155767b6cda6170cbe5710c4533ff8a
--- /dev/null
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/settings/app/AppSettingsFragmentProvider.kt
@@ -0,0 +1,10 @@
+package de.kuschku.quasseldroid.ui.settings.app
+
+import dagger.Module
+import dagger.android.ContributesAndroidInjector
+
+@Module
+abstract class AppSettingsFragmentProvider {
+  @ContributesAndroidInjector
+  abstract fun bindAppSettingsFragment(): AppSettingsFragment
+}
\ No newline at end of file
diff --git a/app/src/main/res/layout-sw720dp/activity_settings.xml b/app/src/main/res/layout-sw720dp/activity_settings.xml
index 8e7395e7ba80d70e9a1ee1067055f0f9c9b6839c..42e160571376ea10847cbee6408e3b96dbdf87e6 100644
--- a/app/src/main/res/layout-sw720dp/activity_settings.xml
+++ b/app/src/main/res/layout-sw720dp/activity_settings.xml
@@ -1,6 +1,5 @@
 <android.support.v4.widget.DrawerLayout 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:layout_width="match_parent"
   android:layout_height="match_parent"
   android:background="#eeeeee"
@@ -41,12 +40,10 @@
         android:layout_height="match_parent"
         android:scrollbars="vertical">
 
-        <fragment
-          android:id="@+id/settingsFragment"
-          android:name="de.kuschku.quasseldroid.ui.settings.SettingsFragment"
+        <FrameLayout
+          android:id="@+id/fragment_container"
           android:layout_width="match_parent"
-          android:layout_height="wrap_content"
-          tools:layout="@xml/preferences" />
+          android:layout_height="wrap_content" />
       </android.support.v4.widget.NestedScrollView>
     </android.support.v7.widget.CardView>
 
diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml
index 7e6d5f030c40cb5acdb4a9f0519d8dc2c7bcb4f1..a42c0cb50936a04d4c3d4471cfc45f195073e601 100644
--- a/app/src/main/res/layout/activity_settings.xml
+++ b/app/src/main/res/layout/activity_settings.xml
@@ -1,13 +1,11 @@
 <android.support.v4.widget.DrawerLayout 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:layout_width="match_parent"
   android:layout_height="match_parent"
   android:fitsSystemWindows="true">
 
   <LinearLayout 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:layout_width="match_parent"
     android:layout_height="match_parent"
     android:fitsSystemWindows="true"
@@ -27,12 +25,10 @@
 
     </android.support.design.widget.AppBarLayout>
 
-    <fragment
-      android:id="@+id/settingsFragment"
-      android:name="de.kuschku.quasseldroid.ui.settings.SettingsFragment"
+    <FrameLayout
+      android:id="@+id/fragment_container"
       android:layout_width="fill_parent"
-      android:layout_height="fill_parent"
-      tools:layout="@xml/preferences" />
+      android:layout_height="fill_parent" />
   </LinearLayout>
 
 </android.support.v4.widget.DrawerLayout>
\ No newline at end of file