diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 621cf75..d7361e2 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1,6 +1,6 @@
@@ -14,7 +14,7 @@
android:label="@string/app_name"
android:theme="@style/AppTheme" >
@@ -24,23 +24,23 @@
+ android:name="i2p.bote.android.ViewEmailActivity"
+ android:parentActivityName="i2p.bote.android.EmailListActivity" />
+ android:name="i2p.bote.android.NewEmailActivity"
+ android:parentActivityName="i2p.bote.android.EmailListActivity" />
+ android:name="i2p.bote.android.config.SettingsActivity"
+ android:parentActivityName="i2p.bote.android.EmailListActivity" />
+ android:name="i2p.bote.android.config.SetPasswordActivity"
+ android:parentActivityName="i2p.bote.android.config.SettingsActivity" />
+ android:name="i2p.bote.android.config.ViewIdentityActivity"
+ android:parentActivityName="i2p.bote.android.config.SettingsActivity" />
+ android:name="i2p.bote.android.config.EditIdentityActivity"
+ android:parentActivityName="i2p.bote.android.config.ViewIdentityActivity" />
diff --git a/res/layout/activity_set_password.xml b/res/layout/activity_set_password.xml
index 096fc57..10ca354 100644
--- a/res/layout/activity_set_password.xml
+++ b/res/layout/activity_set_password.xml
@@ -11,7 +11,7 @@
diff --git a/res/xml/settings_general.xml b/res/xml/settings_general.xml
index 8f7cd5b..0d76895 100644
--- a/res/xml/settings_general.xml
+++ b/res/xml/settings_general.xml
@@ -6,7 +6,7 @@
android:key="autoMailCheckEnabled"
android:title="@string/pref_title_autoMail" />
-
-
-
-
-
+ android:targetClass="i2p.bote.android.config.SetPasswordActivity"
+ android:targetPackage="i2p.bote.android" />
+ android:targetClass="i2p.bote.android.config.SettingsActivity"
+ android:targetPackage="i2p.bote.android" />
+ android:targetClass="i2p.bote.android.config.SetPasswordActivity"
+ android:targetPackage="i2p.bote.android" />
\ No newline at end of file
diff --git a/src/i2p/bote/EmailListActivity.java b/src/i2p/bote/android/EmailListActivity.java
similarity index 98%
rename from src/i2p/bote/EmailListActivity.java
rename to src/i2p/bote/android/EmailListActivity.java
index eed84e8..2a9fa54 100644
--- a/src/i2p/bote/EmailListActivity.java
+++ b/src/i2p/bote/android/EmailListActivity.java
@@ -1,9 +1,10 @@
-package i2p.bote;
+package i2p.bote.android;
import net.i2p.client.I2PClient;
-import i2p.bote.config.SettingsActivity;
+import i2p.bote.I2PBote;
+import i2p.bote.android.config.SettingsActivity;
+import i2p.bote.android.util.MoveToDialogFragment;
import i2p.bote.folder.EmailFolder;
-import i2p.bote.util.MoveToDialogFragment;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.content.Context;
diff --git a/src/i2p/bote/EmailListAdapter.java b/src/i2p/bote/android/EmailListAdapter.java
similarity index 98%
rename from src/i2p/bote/EmailListAdapter.java
rename to src/i2p/bote/android/EmailListAdapter.java
index b3d1085..0614795 100644
--- a/src/i2p/bote/EmailListAdapter.java
+++ b/src/i2p/bote/android/EmailListAdapter.java
@@ -1,4 +1,4 @@
-package i2p.bote;
+package i2p.bote.android;
import java.io.IOException;
import java.security.GeneralSecurityException;
@@ -7,9 +7,9 @@ import java.util.List;
import javax.mail.MessagingException;
+import i2p.bote.android.util.BoteHelper;
import i2p.bote.email.Email;
import i2p.bote.fileencryption.PasswordException;
-import i2p.bote.util.BoteHelper;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Typeface;
diff --git a/src/i2p/bote/EmailListFragment.java b/src/i2p/bote/android/EmailListFragment.java
similarity index 98%
rename from src/i2p/bote/EmailListFragment.java
rename to src/i2p/bote/android/EmailListFragment.java
index 11a7b30..eecc15f 100644
--- a/src/i2p/bote/EmailListFragment.java
+++ b/src/i2p/bote/android/EmailListFragment.java
@@ -1,4 +1,4 @@
-package i2p.bote;
+package i2p.bote.android;
import java.io.IOException;
import java.security.GeneralSecurityException;
@@ -7,13 +7,14 @@ import java.util.List;
import net.i2p.I2PAppContext;
import net.i2p.util.Log;
+import i2p.bote.I2PBote;
+import i2p.bote.android.util.BetterAsyncTaskLoader;
+import i2p.bote.android.util.BoteHelper;
+import i2p.bote.android.util.MoveToDialogFragment;
import i2p.bote.email.Email;
import i2p.bote.fileencryption.PasswordException;
import i2p.bote.folder.EmailFolder;
import i2p.bote.folder.FolderListener;
-import i2p.bote.util.BetterAsyncTaskLoader;
-import i2p.bote.util.BoteHelper;
-import i2p.bote.util.MoveToDialogFragment;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
diff --git a/src/i2p/bote/FolderListAdapter.java b/src/i2p/bote/android/FolderListAdapter.java
similarity index 96%
rename from src/i2p/bote/FolderListAdapter.java
rename to src/i2p/bote/android/FolderListAdapter.java
index b381d2a..37a46fb 100644
--- a/src/i2p/bote/FolderListAdapter.java
+++ b/src/i2p/bote/android/FolderListAdapter.java
@@ -1,10 +1,10 @@
-package i2p.bote;
+package i2p.bote.android;
import java.util.List;
+import i2p.bote.android.util.BoteHelper;
import i2p.bote.fileencryption.PasswordException;
import i2p.bote.folder.EmailFolder;
import i2p.bote.folder.FolderListener;
-import i2p.bote.util.BoteHelper;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
diff --git a/src/i2p/bote/NewEmailActivity.java b/src/i2p/bote/android/NewEmailActivity.java
similarity index 97%
rename from src/i2p/bote/NewEmailActivity.java
rename to src/i2p/bote/android/NewEmailActivity.java
index ad03341..63fe2b4 100644
--- a/src/i2p/bote/NewEmailActivity.java
+++ b/src/i2p/bote/android/NewEmailActivity.java
@@ -1,4 +1,4 @@
-package i2p.bote;
+package i2p.bote.android;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
diff --git a/src/i2p/bote/NewEmailFragment.java b/src/i2p/bote/android/NewEmailFragment.java
similarity index 98%
rename from src/i2p/bote/NewEmailFragment.java
rename to src/i2p/bote/android/NewEmailFragment.java
index 1614726..3792d07 100644
--- a/src/i2p/bote/NewEmailFragment.java
+++ b/src/i2p/bote/android/NewEmailFragment.java
@@ -1,4 +1,4 @@
-package i2p.bote;
+package i2p.bote.android;
import java.io.IOException;
import java.security.GeneralSecurityException;
@@ -11,11 +11,12 @@ import javax.mail.internet.InternetAddress;
import net.i2p.data.DataFormatException;
+import i2p.bote.I2PBote;
+import i2p.bote.android.util.BoteHelper;
import i2p.bote.email.Attachment;
import i2p.bote.email.Email;
import i2p.bote.email.EmailIdentity;
import i2p.bote.fileencryption.PasswordException;
-import i2p.bote.util.BoteHelper;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
diff --git a/src/i2p/bote/ViewEmailActivity.java b/src/i2p/bote/android/ViewEmailActivity.java
similarity index 97%
rename from src/i2p/bote/ViewEmailActivity.java
rename to src/i2p/bote/android/ViewEmailActivity.java
index 328736f..4de342d 100644
--- a/src/i2p/bote/ViewEmailActivity.java
+++ b/src/i2p/bote/android/ViewEmailActivity.java
@@ -1,14 +1,14 @@
-package i2p.bote;
+package i2p.bote.android;
import java.util.ArrayList;
import java.util.List;
+import i2p.bote.android.util.BetterAsyncTaskLoader;
+import i2p.bote.android.util.BoteHelper;
import i2p.bote.email.Email;
import i2p.bote.fileencryption.PasswordException;
import i2p.bote.folder.EmailFolder;
import i2p.bote.folder.FolderListener;
-import i2p.bote.util.BetterAsyncTaskLoader;
-import i2p.bote.util.BoteHelper;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
diff --git a/src/i2p/bote/ViewEmailFragment.java b/src/i2p/bote/android/ViewEmailFragment.java
similarity index 98%
rename from src/i2p/bote/ViewEmailFragment.java
rename to src/i2p/bote/android/ViewEmailFragment.java
index 6507cd0..ce4bbb6 100644
--- a/src/i2p/bote/ViewEmailFragment.java
+++ b/src/i2p/bote/android/ViewEmailFragment.java
@@ -1,4 +1,4 @@
-package i2p.bote;
+package i2p.bote.android;
import java.io.IOException;
import java.security.GeneralSecurityException;
@@ -7,9 +7,9 @@ import java.text.DateFormat;
import javax.mail.Address;
import javax.mail.MessagingException;
+import i2p.bote.android.util.BoteHelper;
import i2p.bote.email.Email;
import i2p.bote.fileencryption.PasswordException;
-import i2p.bote.util.BoteHelper;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.support.v4.app.Fragment;
diff --git a/src/i2p/bote/config/EditIdentityActivity.java b/src/i2p/bote/android/config/EditIdentityActivity.java
similarity index 95%
rename from src/i2p/bote/config/EditIdentityActivity.java
rename to src/i2p/bote/android/config/EditIdentityActivity.java
index 23c7bcf..a4a4ff5 100644
--- a/src/i2p/bote/config/EditIdentityActivity.java
+++ b/src/i2p/bote/android/config/EditIdentityActivity.java
@@ -1,6 +1,6 @@
-package i2p.bote.config;
+package i2p.bote.android.config;
-import i2p.bote.R;
+import i2p.bote.android.R;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.widget.Toast;
diff --git a/src/i2p/bote/config/EditIdentityFragment.java b/src/i2p/bote/android/config/EditIdentityFragment.java
similarity index 98%
rename from src/i2p/bote/config/EditIdentityFragment.java
rename to src/i2p/bote/android/config/EditIdentityFragment.java
index 85225ed..6af0e13 100644
--- a/src/i2p/bote/config/EditIdentityFragment.java
+++ b/src/i2p/bote/android/config/EditIdentityFragment.java
@@ -1,19 +1,19 @@
-package i2p.bote.config;
+package i2p.bote.android.config;
import java.io.IOException;
import java.security.GeneralSecurityException;
import java.util.List;
import i2p.bote.I2PBote;
-import i2p.bote.R;
+import i2p.bote.android.R;
+import i2p.bote.android.util.BoteHelper;
+import i2p.bote.android.util.RobustAsyncTask;
+import i2p.bote.android.util.TaskFragment;
import i2p.bote.StatusListener;
import i2p.bote.crypto.CryptoFactory;
import i2p.bote.crypto.CryptoImplementation;
import i2p.bote.email.EmailIdentity;
import i2p.bote.fileencryption.PasswordException;
-import i2p.bote.util.BoteHelper;
-import i2p.bote.util.RobustAsyncTask;
-import i2p.bote.util.TaskFragment;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
diff --git a/src/i2p/bote/config/SetPasswordActivity.java b/src/i2p/bote/android/config/SetPasswordActivity.java
similarity index 92%
rename from src/i2p/bote/config/SetPasswordActivity.java
rename to src/i2p/bote/android/config/SetPasswordActivity.java
index b20f6a1..623db4f 100644
--- a/src/i2p/bote/config/SetPasswordActivity.java
+++ b/src/i2p/bote/android/config/SetPasswordActivity.java
@@ -1,6 +1,6 @@
-package i2p.bote.config;
+package i2p.bote.android.config;
-import i2p.bote.R;
+import i2p.bote.android.R;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.widget.Toast;
diff --git a/src/i2p/bote/config/SetPasswordFragment.java b/src/i2p/bote/android/config/SetPasswordFragment.java
similarity index 98%
rename from src/i2p/bote/config/SetPasswordFragment.java
rename to src/i2p/bote/android/config/SetPasswordFragment.java
index b2e0035..de28e24 100644
--- a/src/i2p/bote/config/SetPasswordFragment.java
+++ b/src/i2p/bote/android/config/SetPasswordFragment.java
@@ -1,10 +1,10 @@
-package i2p.bote.config;
+package i2p.bote.android.config;
import i2p.bote.I2PBote;
-import i2p.bote.R;
+import i2p.bote.android.R;
+import i2p.bote.android.util.RobustAsyncTask;
+import i2p.bote.android.util.TaskFragment;
import i2p.bote.StatusListener;
-import i2p.bote.util.RobustAsyncTask;
-import i2p.bote.util.TaskFragment;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
diff --git a/src/i2p/bote/config/SettingsActivity.java b/src/i2p/bote/android/config/SettingsActivity.java
similarity index 99%
rename from src/i2p/bote/config/SettingsActivity.java
rename to src/i2p/bote/android/config/SettingsActivity.java
index 9cadee3..d90a5fb 100644
--- a/src/i2p/bote/config/SettingsActivity.java
+++ b/src/i2p/bote/android/config/SettingsActivity.java
@@ -1,8 +1,8 @@
-package i2p.bote.config;
+package i2p.bote.android.config;
import i2p.bote.Configuration;
import i2p.bote.I2PBote;
-import i2p.bote.R;
+import i2p.bote.android.R;
import i2p.bote.email.EmailIdentity;
import i2p.bote.fileencryption.PasswordException;
import java.io.IOException;
diff --git a/src/i2p/bote/config/ViewIdentityActivity.java b/src/i2p/bote/android/config/ViewIdentityActivity.java
similarity index 96%
rename from src/i2p/bote/config/ViewIdentityActivity.java
rename to src/i2p/bote/android/config/ViewIdentityActivity.java
index bfdf871..1aae2c3 100644
--- a/src/i2p/bote/config/ViewIdentityActivity.java
+++ b/src/i2p/bote/android/config/ViewIdentityActivity.java
@@ -1,4 +1,4 @@
-package i2p.bote.config;
+package i2p.bote.android.config;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
diff --git a/src/i2p/bote/config/ViewIdentityFragment.java b/src/i2p/bote/android/config/ViewIdentityFragment.java
similarity index 97%
rename from src/i2p/bote/config/ViewIdentityFragment.java
rename to src/i2p/bote/android/config/ViewIdentityFragment.java
index cfa484d..6b2838a 100644
--- a/src/i2p/bote/config/ViewIdentityFragment.java
+++ b/src/i2p/bote/android/config/ViewIdentityFragment.java
@@ -1,12 +1,12 @@
-package i2p.bote.config;
+package i2p.bote.android.config;
import java.io.IOException;
import java.security.GeneralSecurityException;
-import i2p.bote.R;
+import i2p.bote.android.R;
+import i2p.bote.android.util.BoteHelper;
import i2p.bote.email.EmailIdentity;
import i2p.bote.fileencryption.PasswordException;
-import i2p.bote.util.BoteHelper;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
diff --git a/src/i2p/bote/util/BetterAsyncTaskLoader.java b/src/i2p/bote/android/util/BetterAsyncTaskLoader.java
similarity index 99%
rename from src/i2p/bote/util/BetterAsyncTaskLoader.java
rename to src/i2p/bote/android/util/BetterAsyncTaskLoader.java
index 684d144..e1d7477 100644
--- a/src/i2p/bote/util/BetterAsyncTaskLoader.java
+++ b/src/i2p/bote/android/util/BetterAsyncTaskLoader.java
@@ -1,4 +1,4 @@
-package i2p.bote.util;
+package i2p.bote.android.util;
import android.content.Context;
import android.support.v4.content.AsyncTaskLoader;
diff --git a/src/i2p/bote/util/BoteHelper.java b/src/i2p/bote/android/util/BoteHelper.java
similarity index 97%
rename from src/i2p/bote/util/BoteHelper.java
rename to src/i2p/bote/android/util/BoteHelper.java
index c15ed2b..a363c4b 100644
--- a/src/i2p/bote/util/BoteHelper.java
+++ b/src/i2p/bote/android/util/BoteHelper.java
@@ -1,4 +1,4 @@
-package i2p.bote.util;
+package i2p.bote.android.util;
import java.io.IOException;
import java.security.GeneralSecurityException;
@@ -10,12 +10,13 @@ import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Base64;
-import i2p.bote.R;
+import i2p.bote.android.R;
import i2p.bote.email.EmailDestination;
import i2p.bote.email.EmailIdentity;
import i2p.bote.fileencryption.PasswordException;
import i2p.bote.folder.EmailFolder;
import i2p.bote.packet.dht.Contact;
+import i2p.bote.util.GeneralHelper;
public class BoteHelper extends GeneralHelper {
/**
diff --git a/src/i2p/bote/util/IntEditTextPreference.java b/src/i2p/bote/android/util/IntEditTextPreference.java
similarity index 97%
rename from src/i2p/bote/util/IntEditTextPreference.java
rename to src/i2p/bote/android/util/IntEditTextPreference.java
index d484ab1..065a16f 100644
--- a/src/i2p/bote/util/IntEditTextPreference.java
+++ b/src/i2p/bote/android/util/IntEditTextPreference.java
@@ -1,4 +1,4 @@
-package i2p.bote.util;
+package i2p.bote.android.util;
import android.content.Context;
import android.preference.EditTextPreference;
diff --git a/src/i2p/bote/util/MoveToDialogFragment.java b/src/i2p/bote/android/util/MoveToDialogFragment.java
similarity index 97%
rename from src/i2p/bote/util/MoveToDialogFragment.java
rename to src/i2p/bote/android/util/MoveToDialogFragment.java
index ce32269..d7a565e 100644
--- a/src/i2p/bote/util/MoveToDialogFragment.java
+++ b/src/i2p/bote/android/util/MoveToDialogFragment.java
@@ -1,7 +1,7 @@
-package i2p.bote.util;
+package i2p.bote.android.util;
import i2p.bote.I2PBote;
-import i2p.bote.R;
+import i2p.bote.android.R;
import i2p.bote.folder.EmailFolder;
import java.util.ArrayList;
diff --git a/src/i2p/bote/util/RobustAsyncTask.java b/src/i2p/bote/android/util/RobustAsyncTask.java
similarity index 96%
rename from src/i2p/bote/util/RobustAsyncTask.java
rename to src/i2p/bote/android/util/RobustAsyncTask.java
index fee7a17..fbf708f 100644
--- a/src/i2p/bote/util/RobustAsyncTask.java
+++ b/src/i2p/bote/android/util/RobustAsyncTask.java
@@ -1,4 +1,4 @@
-package i2p.bote.util;
+package i2p.bote.android.util;
import android.os.AsyncTask;
diff --git a/src/i2p/bote/util/SummaryEditTextPreference.java b/src/i2p/bote/android/util/SummaryEditTextPreference.java
similarity index 95%
rename from src/i2p/bote/util/SummaryEditTextPreference.java
rename to src/i2p/bote/android/util/SummaryEditTextPreference.java
index b0b58e3..0546bc0 100644
--- a/src/i2p/bote/util/SummaryEditTextPreference.java
+++ b/src/i2p/bote/android/util/SummaryEditTextPreference.java
@@ -1,4 +1,4 @@
-package i2p.bote.util;
+package i2p.bote.android.util;
import android.content.Context;
import android.preference.EditTextPreference;
diff --git a/src/i2p/bote/util/TaskFragment.java b/src/i2p/bote/android/util/TaskFragment.java
similarity index 98%
rename from src/i2p/bote/util/TaskFragment.java
rename to src/i2p/bote/android/util/TaskFragment.java
index 762e9e6..1feb3c0 100644
--- a/src/i2p/bote/util/TaskFragment.java
+++ b/src/i2p/bote/android/util/TaskFragment.java
@@ -1,4 +1,4 @@
-package i2p.bote.util;
+package i2p.bote.android.util;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;