diff --git a/Habitica/AndroidManifest.xml b/Habitica/AndroidManifest.xml
index 475def6d8..06bb5e3b8 100644
--- a/Habitica/AndroidManifest.xml
+++ b/Habitica/AndroidManifest.xml
@@ -23,7 +23,7 @@
android:label="@string/app_name"
android:theme="@style/AppTheme">
@@ -34,21 +34,21 @@
@@ -56,17 +56,17 @@
+ android:value=".ui.activities.MainActivity" />
+ tools:context=".ui.activities.AboutActivity">
+ tools:context=".ui.activities.MainActivity">
+ tools:context=".ui.activities.MainActivity">
+ tools:context=".ui.activities.TaskFormActivity">
diff --git a/Habitica/src/com/habitrpg/android/habitica/HabiticaApplication.java b/Habitica/src/com/habitrpg/android/habitica/HabiticaApplication.java
index 093497295..3e7350643 100644
--- a/Habitica/src/com/habitrpg/android/habitica/HabiticaApplication.java
+++ b/Habitica/src/com/habitrpg/android/habitica/HabiticaApplication.java
@@ -15,6 +15,7 @@ import android.support.annotation.Nullable;
import android.util.Log;
import com.facebook.FacebookSdk;
+import com.habitrpg.android.habitica.ui.activities.LoginActivity;
import com.magicmicky.habitrpgwrapper.lib.models.HabitRPGUser;
import com.raizlabs.android.dbflow.config.FlowManager;
import com.squareup.leakcanary.LeakCanary;
diff --git a/Habitica/src/com/habitrpg/android/habitica/ui/MainDrawerBuilder.java b/Habitica/src/com/habitrpg/android/habitica/ui/MainDrawerBuilder.java
index 489e923d2..840e6d044 100644
--- a/Habitica/src/com/habitrpg/android/habitica/ui/MainDrawerBuilder.java
+++ b/Habitica/src/com/habitrpg/android/habitica/ui/MainDrawerBuilder.java
@@ -5,10 +5,10 @@ import android.content.Intent;
import android.support.v7.widget.Toolbar;
import android.view.View;
-import com.habitrpg.android.habitica.AboutActivity;
-import com.habitrpg.android.habitica.MainActivity;
+import com.habitrpg.android.habitica.ui.activities.AboutActivity;
+import com.habitrpg.android.habitica.ui.activities.MainActivity;
import com.habitrpg.android.habitica.R;
-import com.habitrpg.android.habitica.prefs.PrefsActivity;
+import com.habitrpg.android.habitica.ui.activities.PrefsActivity;
import com.habitrpg.android.habitica.ui.fragments.BaseFragment;
import com.habitrpg.android.habitica.ui.fragments.GemsPurchaseFragment;
import com.habitrpg.android.habitica.ui.fragments.PartyFragment;
diff --git a/Habitica/src/com/habitrpg/android/habitica/AboutActivity.java b/Habitica/src/com/habitrpg/android/habitica/ui/activities/AboutActivity.java
similarity index 98%
rename from Habitica/src/com/habitrpg/android/habitica/AboutActivity.java
rename to Habitica/src/com/habitrpg/android/habitica/ui/activities/AboutActivity.java
index 6e88ec80e..e62b9c5c3 100644
--- a/Habitica/src/com/habitrpg/android/habitica/AboutActivity.java
+++ b/Habitica/src/com/habitrpg/android/habitica/ui/activities/AboutActivity.java
@@ -1,4 +1,4 @@
-package com.habitrpg.android.habitica;
+package com.habitrpg.android.habitica.ui.activities;
import android.os.Bundle;
import android.support.design.widget.TabLayout;
@@ -13,6 +13,7 @@ import android.view.MenuItem;
import com.github.porokoro.paperboy.ItemTypeBuilder;
import com.github.porokoro.paperboy.PaperboyBuilder;
import com.github.porokoro.paperboy.ViewTypes;
+import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.ui.fragments.AboutFragment;
import com.mikepenz.aboutlibraries.Libs;
import com.mikepenz.aboutlibraries.LibsBuilder;
diff --git a/Habitica/src/com/habitrpg/android/habitica/LoginActivity.java b/Habitica/src/com/habitrpg/android/habitica/ui/activities/LoginActivity.java
similarity index 98%
rename from Habitica/src/com/habitrpg/android/habitica/LoginActivity.java
rename to Habitica/src/com/habitrpg/android/habitica/ui/activities/LoginActivity.java
index 20f19ddea..6bab3a3bf 100644
--- a/Habitica/src/com/habitrpg/android/habitica/LoginActivity.java
+++ b/Habitica/src/com/habitrpg/android/habitica/ui/activities/LoginActivity.java
@@ -1,4 +1,4 @@
-package com.habitrpg.android.habitica;
+package com.habitrpg.android.habitica.ui.activities;
import android.content.DialogInterface;
import android.content.Intent;
@@ -28,8 +28,10 @@ import com.facebook.FacebookCallback;
import com.facebook.FacebookException;
import com.facebook.login.LoginResult;
import com.facebook.login.widget.LoginButton;
+import com.habitrpg.android.habitica.APIHelper;
+import com.habitrpg.android.habitica.HostConfig;
+import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.callbacks.HabitRPGUserCallback;
-import com.habitrpg.android.habitica.prefs.PrefsActivity;
import com.habitrpg.android.habitica.prefs.scanner.IntentIntegrator;
import com.habitrpg.android.habitica.prefs.scanner.IntentResult;
import com.magicmicky.habitrpgwrapper.lib.models.HabitRPGUser;
diff --git a/Habitica/src/com/habitrpg/android/habitica/MainActivity.java b/Habitica/src/com/habitrpg/android/habitica/ui/activities/MainActivity.java
similarity index 98%
rename from Habitica/src/com/habitrpg/android/habitica/MainActivity.java
rename to Habitica/src/com/habitrpg/android/habitica/ui/activities/MainActivity.java
index 6c7c149e4..af27c8c11 100644
--- a/Habitica/src/com/habitrpg/android/habitica/MainActivity.java
+++ b/Habitica/src/com/habitrpg/android/habitica/ui/activities/MainActivity.java
@@ -1,4 +1,4 @@
-package com.habitrpg.android.habitica;
+package com.habitrpg.android.habitica.ui.activities;
import android.content.DialogInterface;
import android.content.Intent;
@@ -25,6 +25,11 @@ import android.widget.TextView;
import com.afollestad.materialdialogs.MaterialDialog;
import com.crashlytics.android.Crashlytics;
import com.crashlytics.android.core.CrashlyticsCore;
+import com.habitrpg.android.habitica.APIHelper;
+import com.habitrpg.android.habitica.BuildConfig;
+import com.habitrpg.android.habitica.HabiticaApplication;
+import com.habitrpg.android.habitica.HostConfig;
+import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.callbacks.HabitRPGUserCallback;
import com.habitrpg.android.habitica.callbacks.TaskScoringCallback;
import com.habitrpg.android.habitica.databinding.ValueBarBinding;
@@ -33,7 +38,6 @@ import com.habitrpg.android.habitica.events.ToggledInnStateEvent;
import com.habitrpg.android.habitica.events.commands.BuyRewardCommand;
import com.habitrpg.android.habitica.events.commands.DeleteTaskCommand;
import com.habitrpg.android.habitica.events.commands.OpenGemPurchaseFragmentCommand;
-import com.habitrpg.android.habitica.prefs.PrefsActivity;
import com.habitrpg.android.habitica.ui.AvatarWithBarsViewModel;
import com.habitrpg.android.habitica.ui.MainDrawerBuilder;
import com.habitrpg.android.habitica.ui.fragments.BaseFragment;
diff --git a/Habitica/src/com/habitrpg/android/habitica/prefs/PrefsActivity.java b/Habitica/src/com/habitrpg/android/habitica/ui/activities/PrefsActivity.java
similarity index 97%
rename from Habitica/src/com/habitrpg/android/habitica/prefs/PrefsActivity.java
rename to Habitica/src/com/habitrpg/android/habitica/ui/activities/PrefsActivity.java
index f7cb1ae6a..7e49011d5 100644
--- a/Habitica/src/com/habitrpg/android/habitica/prefs/PrefsActivity.java
+++ b/Habitica/src/com/habitrpg/android/habitica/ui/activities/PrefsActivity.java
@@ -1,4 +1,4 @@
-package com.habitrpg.android.habitica.prefs;
+package com.habitrpg.android.habitica.ui.activities;
import android.content.Context;
import android.content.SharedPreferences;
diff --git a/Habitica/src/com/habitrpg/android/habitica/SkillTasksActivity.java b/Habitica/src/com/habitrpg/android/habitica/ui/activities/SkillTasksActivity.java
similarity index 97%
rename from Habitica/src/com/habitrpg/android/habitica/SkillTasksActivity.java
rename to Habitica/src/com/habitrpg/android/habitica/ui/activities/SkillTasksActivity.java
index ea6662248..d6c45627d 100644
--- a/Habitica/src/com/habitrpg/android/habitica/SkillTasksActivity.java
+++ b/Habitica/src/com/habitrpg/android/habitica/ui/activities/SkillTasksActivity.java
@@ -1,4 +1,4 @@
-package com.habitrpg.android.habitica;
+package com.habitrpg.android.habitica.ui.activities;
import android.app.Activity;
import android.content.Intent;
@@ -9,6 +9,7 @@ import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
+import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.ui.adapter.SkillTasksRecyclerViewAdapter;
import com.habitrpg.android.habitica.ui.fragments.SkillTasksRecyclerViewFragment;
import com.magicmicky.habitrpgwrapper.lib.models.HabitRPGUser;
diff --git a/Habitica/src/com/habitrpg/android/habitica/TaskFormActivity.java b/Habitica/src/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.java
similarity index 99%
rename from Habitica/src/com/habitrpg/android/habitica/TaskFormActivity.java
rename to Habitica/src/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.java
index be54b1401..41baef4a0 100644
--- a/Habitica/src/com/habitrpg/android/habitica/TaskFormActivity.java
+++ b/Habitica/src/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.java
@@ -1,4 +1,4 @@
-package com.habitrpg.android.habitica;
+package com.habitrpg.android.habitica.ui.activities;
import android.content.Context;
import android.content.DialogInterface;
@@ -25,6 +25,7 @@ import android.widget.NumberPicker;
import android.widget.Spinner;
import android.widget.TextView;
+import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.events.TaskSaveEvent;
import com.habitrpg.android.habitica.events.commands.DeleteTaskCommand;
import com.habitrpg.android.habitica.ui.WrapContentRecyclerViewLayoutManager;
diff --git a/Habitica/src/com/habitrpg/android/habitica/ui/adapter/SkillTasksRecyclerViewAdapter.java b/Habitica/src/com/habitrpg/android/habitica/ui/adapter/SkillTasksRecyclerViewAdapter.java
index cdb90b14a..e9efe2c35 100644
--- a/Habitica/src/com/habitrpg/android/habitica/ui/adapter/SkillTasksRecyclerViewAdapter.java
+++ b/Habitica/src/com/habitrpg/android/habitica/ui/adapter/SkillTasksRecyclerViewAdapter.java
@@ -10,7 +10,7 @@ import android.widget.LinearLayout;
import android.widget.TextView;
import com.habitrpg.android.habitica.R;
-import com.habitrpg.android.habitica.SkillTasksActivity;
+import com.habitrpg.android.habitica.ui.activities.SkillTasksActivity;
import com.habitrpg.android.habitica.databinding.SkillTaskItemCardBinding;
import com.magicmicky.habitrpgwrapper.lib.models.tasks.Task;
import com.raizlabs.android.dbflow.sql.builder.Condition;
diff --git a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/BaseFragment.java b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/BaseFragment.java
index 9acb4b22c..dde8d9cc9 100644
--- a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/BaseFragment.java
+++ b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/BaseFragment.java
@@ -12,7 +12,7 @@ import android.view.ViewGroup;
import android.widget.FrameLayout;
import com.habitrpg.android.habitica.APIHelper;
-import com.habitrpg.android.habitica.MainActivity;
+import com.habitrpg.android.habitica.ui.activities.MainActivity;
import com.magicmicky.habitrpgwrapper.lib.models.HabitRPGUser;
import de.greenrobot.event.EventBus;
diff --git a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/ChatListFragment.java b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/ChatListFragment.java
index 672a1373b..08659e1be 100644
--- a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/ChatListFragment.java
+++ b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/ChatListFragment.java
@@ -15,7 +15,7 @@ import android.view.ViewGroup;
import com.habitrpg.android.habitica.APIHelper;
import com.habitrpg.android.habitica.HabiticaApplication;
-import com.habitrpg.android.habitica.MainActivity;
+import com.habitrpg.android.habitica.ui.activities.MainActivity;
import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.events.ToggledInnStateEvent;
import com.habitrpg.android.habitica.events.commands.DeleteChatMessageCommand;
diff --git a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/PreferencesFragment.java b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/PreferencesFragment.java
index 78dc9f0fc..37e7ab4c1 100644
--- a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/PreferencesFragment.java
+++ b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/PreferencesFragment.java
@@ -14,7 +14,7 @@ import android.preference.PreferenceFragment;
import android.preference.PreferenceScreen;
import com.habitrpg.android.habitica.HabiticaApplication;
-import com.habitrpg.android.habitica.MainActivity;
+import com.habitrpg.android.habitica.ui.activities.MainActivity;
import com.habitrpg.android.habitica.NotificationPublisher;
import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.prefs.TimePreference;
diff --git a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/SkillsFragment.java b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/SkillsFragment.java
index 7b1e278ca..c2abfed0c 100644
--- a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/SkillsFragment.java
+++ b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/SkillsFragment.java
@@ -12,7 +12,7 @@ import android.view.View;
import android.view.ViewGroup;
import com.habitrpg.android.habitica.R;
-import com.habitrpg.android.habitica.SkillTasksActivity;
+import com.habitrpg.android.habitica.ui.activities.SkillTasksActivity;
import com.habitrpg.android.habitica.callbacks.HabitRPGUserCallback;
import com.habitrpg.android.habitica.callbacks.SkillCallback;
import com.habitrpg.android.habitica.events.SkillUsedEvent;
diff --git a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/TasksFragment.java b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/TasksFragment.java
index 7cd083540..ec0bdee64 100644
--- a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/TasksFragment.java
+++ b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/TasksFragment.java
@@ -25,9 +25,9 @@ import android.widget.ImageView;
import com.github.clans.fab.FloatingActionButton;
import com.github.clans.fab.FloatingActionMenu;
import com.habitrpg.android.habitica.ContentCache;
-import com.habitrpg.android.habitica.MainActivity;
+import com.habitrpg.android.habitica.ui.activities.MainActivity;
import com.habitrpg.android.habitica.R;
-import com.habitrpg.android.habitica.TaskFormActivity;
+import com.habitrpg.android.habitica.ui.activities.TaskFormActivity;
import com.habitrpg.android.habitica.callbacks.HabitRPGUserCallback;
import com.habitrpg.android.habitica.callbacks.TaskCreationCallback;
import com.habitrpg.android.habitica.callbacks.TaskScoringCallback;
diff --git a/Habitica/src/com/habitrpg/android/habitica/widget/UpdateWidgetService.java b/Habitica/src/com/habitrpg/android/habitica/widget/UpdateWidgetService.java
index 703fd1963..129da2392 100644
--- a/Habitica/src/com/habitrpg/android/habitica/widget/UpdateWidgetService.java
+++ b/Habitica/src/com/habitrpg/android/habitica/widget/UpdateWidgetService.java
@@ -11,10 +11,10 @@ import android.widget.RemoteViews;
import com.habitrpg.android.habitica.APIHelper;
import com.habitrpg.android.habitica.HostConfig;
-import com.habitrpg.android.habitica.MainActivity;
+import com.habitrpg.android.habitica.ui.activities.MainActivity;
import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.callbacks.HabitRPGUserCallback;
-import com.habitrpg.android.habitica.prefs.PrefsActivity;
+import com.habitrpg.android.habitica.ui.activities.PrefsActivity;
import com.magicmicky.habitrpgwrapper.lib.models.HabitRPGUser;
/**