Index: /trunk/java-utils/src/main/java/de/ugoe/cs/util/console/CommandExecuter.java
===================================================================
--- /trunk/java-utils/src/main/java/de/ugoe/cs/util/console/CommandExecuter.java	(revision 730)
+++ /trunk/java-utils/src/main/java/de/ugoe/cs/util/console/CommandExecuter.java	(revision 731)
@@ -297,3 +297,16 @@
         return commandArray;
     }
+    
+    /**
+     * <p>
+     * Get a copy of the currently registered command packages.
+     * </p>
+     *
+     * @return currently registered command packages
+     */
+    public List<String> getCommandPackages() {
+        List<String> commandPackageListCopy = new ArrayList<String>(commandPackageList);
+        commandPackageListCopy.add(0, defaultPackage);
+        return commandPackageListCopy;
+    }
 }
Index: /trunk/java-utils/src/main/java/de/ugoe/cs/util/console/defaultcommands/CMDlistCommands.java
===================================================================
--- /trunk/java-utils/src/main/java/de/ugoe/cs/util/console/defaultcommands/CMDlistCommands.java	(revision 730)
+++ /trunk/java-utils/src/main/java/de/ugoe/cs/util/console/defaultcommands/CMDlistCommands.java	(revision 731)
@@ -27,6 +27,13 @@
         Command[] commands = CommandExecuter.getInstance().getAvailableCommands();
 
-        for (Command command : commands) {
-            Console.println(command.help());
+        List<String> commandPackages = CommandExecuter.getInstance().getCommandPackages();
+        
+        for( String commandPackage : commandPackages ) {
+            Console.println(commandPackage);
+            for (Command command : commands) {
+                if( commandPackage.equals(command.getClass().getPackage().getName())) {
+                    Console.println("   " + command.help());
+                }
+            }
         }
     }
