diff --git a/app/src/main/java/ohi/andre/consolelauncher/commands/CommandTuils.java b/app/src/main/java/ohi/andre/consolelauncher/commands/CommandTuils.java
index d526fffb53f4700e374629ac4dbb6b65f597c550..3d9b4244d77a89dcac5ea67897633f61118c3a82 100755
--- a/app/src/main/java/ohi/andre/consolelauncher/commands/CommandTuils.java
+++ b/app/src/main/java/ohi/andre/consolelauncher/commands/CommandTuils.java
@@ -161,8 +161,7 @@ public class CommandTuils {
         CommandAbstraction abstraction = null;
         try {
             abstraction = active.getCommandByName(string);
-        } catch (Exception e) {
-        }
+        } catch (Exception e) {}
 
         return new ArgInfo(abstraction, null, abstraction != null, 1);
     }
@@ -277,13 +276,11 @@ public class CommandTuils {
         return new ArgInfo(param, param != null ? input.substring(indexOfFirstSpace) : input, param != null, param != null ? 1 : 0);
     }
 
-    //	cant use more args
     private static ArgInfo packageName(String input, AppsManager apps) {
         String packageName = apps.findPackage(input);
         return new ArgInfo(packageName, null, packageName != null, 1);
     }
 
-    //	cant use more args
     private static ArgInfo contactNumber(String input, ContactManager contacts) {
         String number;
 
@@ -295,13 +292,11 @@ public class CommandTuils {
         return new ArgInfo(number, null, number != null, 1);
     }
 
-    //	cant use more args
     private static ArgInfo song(String input, MusicManager music) {
         String name = music.getSong(input, MIN_SONG_RATE);
         return new ArgInfo(name, null, name != null, 1);
     }
 
-    //	is SU request?
     public static boolean isSuRequest(String input) {
         return input.equals(ShellUtils.COMMAND_SU);
     }
diff --git a/app/src/main/java/ohi/andre/consolelauncher/commands/ExecInfo.java b/app/src/main/java/ohi/andre/consolelauncher/commands/ExecInfo.java
index 5c63e2be5d49fd878c0fea70a7dc7ba2b88a68f1..ed2631b507637010391762549aba1df095ec1bfd 100755
--- a/app/src/main/java/ohi/andre/consolelauncher/commands/ExecInfo.java
+++ b/app/src/main/java/ohi/andre/consolelauncher/commands/ExecInfo.java
@@ -152,7 +152,7 @@ public class ExecInfo {
 
     public void destroy() {
         player.destroy(this.context);
-        appsManager.unregisterReceiver(context);
+        appsManager.onDestroy();
     }
 
     @SuppressWarnings("unchecked")
diff --git a/app/src/main/java/ohi/andre/consolelauncher/tuils/Tuils.java b/app/src/main/java/ohi/andre/consolelauncher/tuils/Tuils.java
index 07edf7def4806be528368816f6a691a76f99e87a..36f40e3f2ca56fd171c78ebb97dd92e7b5241fff 100755
--- a/app/src/main/java/ohi/andre/consolelauncher/tuils/Tuils.java
+++ b/app/src/main/java/ohi/andre/consolelauncher/tuils/Tuils.java
@@ -10,15 +10,11 @@ import android.app.admin.DevicePolicyManager;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
-import android.content.pm.PackageManager;
-import android.content.pm.ResolveInfo;
 import android.net.Uri;
 import android.os.Build;
 import android.os.Environment;
 import android.provider.Settings;
-import android.support.v7.app.AppCompatActivity;
 import android.text.TextUtils;
-import android.util.Log;
 import android.util.Patterns;
 import android.widget.Toast;
 
@@ -27,17 +23,12 @@ import java.io.File;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.io.StringWriter;
-import java.lang.reflect.Constructor;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Enumeration;
-import java.util.HashSet;
 import java.util.List;
-import java.util.Set;
 import java.util.regex.Pattern;
 
 import dalvik.system.DexFile;
-import ohi.andre.consolelauncher.commands.CommandAbstraction;
 import ohi.andre.consolelauncher.managers.MusicManager;
 import ohi.andre.consolelauncher.tuils.tutorial.TutorialIndexActivity;
 
@@ -50,35 +41,6 @@ public class Tuils {
     public static final String DOT = ".";
     public static final String EMPTYSTRING = "";
     private static final String TUI_FOLDER = "t-ui";
-    private static final String[] path = {
-            "/system/bin",
-            "/system/xbin"
-    };
-    private static final String METACHARACTERS = "\\?*+[](){}^$.|";
-
-    public static List<String> getOSCommands() {
-        List<String> commands = new ArrayList<>();
-
-        for (String s : path)
-            commands.addAll(Arrays.asList(new File(s).list()));
-
-        return commands;
-    }
-
-    public static Set<AppInfo> getApps(PackageManager mgr) {
-        Set<AppInfo> set = new HashSet<>();
-
-        Intent i = new Intent(Intent.ACTION_MAIN, null);
-        i.addCategory(Intent.CATEGORY_LAUNCHER);
-
-        List<ResolveInfo> infos = mgr.queryIntentActivities(i, 0);
-
-        for (ResolveInfo info : infos) {
-            set.add(new AppInfo(info.activityInfo.packageName, info.loadLabel(mgr).toString()));
-        }
-
-        return set;
-    }
 
     public static boolean arrayContains(int[] array, int value) {
         for(int i : array) {
@@ -108,30 +70,17 @@ public class Tuils {
         }
 
         for (File file : files) {
-            Log.e("andre", file.getAbsolutePath());
             if (file.isDirectory()) {
-                Log.e("andre", "dir");
                 songs.addAll(getSongsInFolder(file));
             }
             else if (containsExtension(MusicManager.MUSIC_EXTENSIONS, file.getName())) {
-                Log.e("andre", "song");
                 songs.add(file);
-            } else {
-                Log.e("andre", "nothing");
             }
         }
 
         return songs;
     }
 
-    @TargetApi(Build.VERSION_CODES.HONEYCOMB)
-    public static void enableUpNavigation(AppCompatActivity activity) {
-        try {
-            activity.getSupportActionBar().setDisplayHomeAsUpEnabled(true);
-        } catch (NullPointerException e) {
-        }
-    }
-
     public static void showTutorial(Context context) {
         Intent intent = new Intent(context, TutorialIndexActivity.class);
         context.startActivity(intent);
@@ -179,18 +128,6 @@ public class Tuils {
         return classes;
     }
 
-    @SuppressWarnings("unchecked")
-    public static CommandAbstraction getCommandInstance(String cmdName) {
-        Class<CommandAbstraction> clazz;
-        try {
-            clazz = (Class<CommandAbstraction>) Class.forName(cmdName);
-            Constructor<?> constructor = clazz.getConstructor();
-            return (CommandAbstraction) constructor.newInstance();
-        } catch (Exception e) {
-            return null;
-        }
-    }
-
     public static int findPrefix(List<String> list, String prefix) {
         for (int count = 0; count < list.size(); count++)
             if (list.get(count).startsWith(prefix))
@@ -283,6 +220,17 @@ public class Tuils {
         return Tuils.toPlanString(strings, NEWLINE);
     }
 
+    public static String toPlanString(Object[] objs, String separator) {
+        StringBuilder output = new StringBuilder();
+        for(int count = 0; count < objs.length; count++) {
+            output.append(objs[count]);
+            if(count < objs.length - 1) {
+                output.append(separator);
+            }
+        }
+        return output.toString();
+    }
+
     public static CharSequence toPlanSequence(List<CharSequence> sequences, CharSequence separator) {
         return toPlanSequence(sequences.toArray(new CharSequence[sequences.size()]), separator);
     }
@@ -314,68 +262,10 @@ public class Tuils {
         return TextUtils.concat(sequences);
     }
 
-//    public static CharSequence[] split(CharSequence input, CharSequence re, int limit) {
-//        int len = re.length();
-//        if (len == 0) {
-//            return null;
-//        }
-//        char ch = re.charAt(0);
-//        if (len == 1 && METACHARACTERS.indexOf(ch) == -1) {
-//            // We're looking for a single non-metacharacter. Easy.
-//        } else if (len == 2 && ch == '\\') {
-//            // We're looking for a quoted character.
-//            // Quoted metacharacters are effectively single non-metacharacters.
-//            ch = re.charAt(1);
-//            if (METACHARACTERS.indexOf(ch) == -1) {
-//                return null;
-//            }
-//        } else {
-//            return null;
-//        }
-//        // We can do this cheaply...
-//        // Unlike Perl, which considers the result of splitting the empty string to be the empty
-//        // array, Java returns an array containing the empty string.
-//        if (input.length() == 0) {
-//            return new CharSequence[]{""};
-//        }
-//        // Count separators
-//        int separatorCount = 0;
-//        int begin = 0;
-//        int end;
-//        while (separatorCount + 1 != limit && (end = input.toString().indexOf(ch, begin)) != -1) {
-//            ++separatorCount;
-//            begin = end + 1;
-//        }
-//        int lastPartEnd = input.length();
-//        if (limit == 0 && begin == lastPartEnd) {
-//            // Last part is empty for limit == 0, remove all trailing empty matches.
-//            if (separatorCount == lastPartEnd) {
-//                // Input contains only separators.
-//                return new CharSequence[0];
-//            }
-//            // Find the beginning of trailing separators.
-//            do {
-//                --begin;
-//            } while (input.charAt(begin - 1) == ch);
-//            // Reduce separatorCount and fix lastPartEnd.
-//            separatorCount -= input.length() - begin;
-//            lastPartEnd = begin;
-//        }
-//        // Collect the result parts.
-//        CharSequence[] result = new CharSequence[separatorCount];
-//        begin = 0;
-//        for (int i = 0; i != separatorCount; ++i) {
-//            end = input.toString().indexOf(ch, begin);
-//            result[i] = input.subSequence(begin, end);
-//            begin = end + 1;
-//        }
-//
-//        return result;
-//    }
-
     public static String removeUnncesarySpaces(String string) {
-        while (string.contains(DOUBLE_SPACE))
+        while (string.contains(DOUBLE_SPACE)) {
             string = string.replace(DOUBLE_SPACE, SPACE);
+        }
         return string;
     }
 
@@ -399,23 +289,25 @@ public class Tuils {
     public static boolean isNumber(String s) {
         char[] chars = s.toCharArray();
 
-        for (char c : chars)
-            if (Character.isLetter(c))
+        for (char c : chars) {
+            if (Character.isLetter(c)) {
                 return false;
+            }
+        }
 
         return true;
     }
 
     public static CharSequence trimWhitespaces(CharSequence source) {
 
-        if(source == null)
-            return "";
+        if(source == null) {
+            return Tuils.EMPTYSTRING;
+        }
 
         int i = source.length();
 
         // loop back to the first non-whitespace character
-        while(--i >= 0 && Character.isWhitespace(source.charAt(i))) {
-        }
+        while(--i >= 0 && Character.isWhitespace(source.charAt(i))) {}
 
         return source.subSequence(0, i+1);
     }
diff --git a/app/src/main/java/ohi/andre/consolelauncher/tuils/tutorial/TutorialActivity.java b/app/src/main/java/ohi/andre/consolelauncher/tuils/tutorial/TutorialActivity.java
index 17008dc4781308abb5ee48aae9131cad3730cc16..d4a36051cf86fcb1105763fb49c78df5351c9d2e 100644
--- a/app/src/main/java/ohi/andre/consolelauncher/tuils/tutorial/TutorialActivity.java
+++ b/app/src/main/java/ohi/andre/consolelauncher/tuils/tutorial/TutorialActivity.java
@@ -1,12 +1,12 @@
 package ohi.andre.consolelauncher.tuils.tutorial;
 
+import android.annotation.TargetApi;
 import android.os.Build;
 import android.os.Bundle;
 import android.support.v7.app.AppCompatActivity;
 import android.widget.TextView;
 
 import ohi.andre.consolelauncher.R;
-import ohi.andre.consolelauncher.tuils.Tuils;
 
 public class TutorialActivity extends AppCompatActivity {
 
@@ -26,8 +26,9 @@ public class TutorialActivity extends AppCompatActivity {
             return;
         }
 
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
-            Tuils.enableUpNavigation(this);
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
+            enableUpNavigation();
+        }
 
         setContentView(R.layout.activity_tutorial);
 
@@ -55,4 +56,11 @@ public class TutorialActivity extends AppCompatActivity {
         TextView tutorialText = (TextView) findViewById(R.id.tutorial_text);
         tutorialText.setText(textResource);
     }
+
+    @TargetApi(Build.VERSION_CODES.HONEYCOMB)
+    public void enableUpNavigation() {
+        try {
+            this.getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+        } catch (NullPointerException e) {}
+    }
 }
diff --git a/app/src/main/java/ohi/andre/consolelauncher/tuils/tutorial/TutorialIndexActivity.java b/app/src/main/java/ohi/andre/consolelauncher/tuils/tutorial/TutorialIndexActivity.java
index 1c500d0eaecddf33bf9731307ad49f795fd16852..b5242791d16586db2de9c58aff19ff1b20bcb88a 100644
--- a/app/src/main/java/ohi/andre/consolelauncher/tuils/tutorial/TutorialIndexActivity.java
+++ b/app/src/main/java/ohi/andre/consolelauncher/tuils/tutorial/TutorialIndexActivity.java
@@ -1,5 +1,6 @@
 package ohi.andre.consolelauncher.tuils.tutorial;
 
+import android.annotation.TargetApi;
 import android.content.Intent;
 import android.os.Build;
 import android.os.Bundle;
@@ -9,7 +10,6 @@ import android.widget.AdapterView;
 import android.widget.ListView;
 
 import ohi.andre.consolelauncher.R;
-import ohi.andre.consolelauncher.tuils.Tuils;
 
 public class TutorialIndexActivity extends AppCompatActivity {
 
@@ -20,8 +20,9 @@ public class TutorialIndexActivity extends AppCompatActivity {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_tutorial_index);
 
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
-            Tuils.enableUpNavigation(this);
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
+            enableUpNavigation();
+        }
 
         ListView listView = (ListView) findViewById(R.id.tutorial_index_view);
         listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@@ -39,4 +40,11 @@ public class TutorialIndexActivity extends AppCompatActivity {
         startActivity(intent);
     }
 
+    @TargetApi(Build.VERSION_CODES.HONEYCOMB)
+    public void enableUpNavigation() {
+        try {
+            this.getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+        } catch (NullPointerException e) {}
+    }
+
 }