Index: trunk/src/util/loading/load_param.cc
===================================================================
--- trunk/src/util/loading/load_param.cc	(revision 5140)
+++ trunk/src/util/loading/load_param.cc	(revision 5141)
@@ -112,58 +112,4 @@
   }
 }
-
-/**
- * checks if the input was a Bool
- * @param BOOL a String that holds a bool: must be one of those: 1,0,true,false,TRUE,FALSE
- * @param defaultValue a default value that is set, if BOOL is corrupt
- * @return returns the bool, if BOOL was correct otherwise defaultValue
- */
-bool isBool(const char* BOOL, bool defaultValue)
-{
-  if(!strcmp(BOOL, "1") || !strcmp( BOOL,"true") || !strcmp(BOOL,"TRUE"))
-    return true;
-  else if (!strcmp(BOOL, "0") || !strcmp( BOOL,"false") || !strcmp(BOOL,"FALSE"))
-    return false;
-  else
-    return defaultValue;
-
-}
-
-int isInt(const char* INT, int defaultValue)
-{
-  char* endPtr = NULL;
-  int result = strtol(INT, &endPtr, 10);
-
-  if ( endPtr >= INT && endPtr < INT + strlen(INT))
-    return defaultValue;
-  else
-    return result;
-}
-
-float isFloat(const char* FLOAT, float defaultValue)
-{
-  char* endPtr = NULL;
-  double result = strtod(FLOAT, &endPtr);
-
-  if ( endPtr >= FLOAT && endPtr < FLOAT + strlen(FLOAT))
-    return defaultValue;
-  else
-    return result;
-}
-
-const Vector& isVector(const char* VECTOR, const Vector& defaultValue)
-{
-
-
-}
-
-const char* isString(const char* STRING, const char* defaultValue)
-{
-  if (STRING != NULL)
-    return STRING;
-  else
-    return defaultValue;
-}
-
 
 /**
Index: trunk/src/util/loading/load_param.h
===================================================================
--- trunk/src/util/loading/load_param.h	(revision 5140)
+++ trunk/src/util/loading/load_param.h	(revision 5141)
@@ -28,4 +28,5 @@
 #include "substring.h"
 #include "tinyxml.h"
+#include "helper_functions.h"
 
 // Forward Declaration //
@@ -216,17 +217,4 @@
         PRINTF(4)("Not loaded parameter %s of %s\n", paramName, pt2Object->getClassName()); \
 }
-
-
-/***********************
-*** HELPER FUNCTIONS ***
-***********************/
-bool          isBool(const char* BOOL, bool defaultValue);
-int           isInt(const char* INT, int defaultValue);
-float         isFloat(const char* FLOAT, float defaultValue);
-//const Vector& isVector(const char* VECTOR, const Vector& defaultValue);
-const char*   isString(const char* STRING, const char* defaultValue);
-
-//TiXmlEmlemnt* isXmlElem(const)
-
 
 /************************
Index: trunk/src/util/shell.cc
===================================================================
--- trunk/src/util/shell.cc	(revision 5140)
+++ trunk/src/util/shell.cc	(revision 5141)
@@ -494,5 +494,5 @@
   if (event.bPressed)
   {
-    PRINTF(4)("Shell received command %s\n", SDLKToKeyname(event.type));
+    PRINTF(5)("Shell received command %s\n", SDLKToKeyname(event.type));
     if (event.type == SDLK_BACKQUOTE)
     {
Index: trunk/src/util/shell.h
===================================================================
--- trunk/src/util/shell.h	(revision 5140)
+++ trunk/src/util/shell.h	(revision 5141)
@@ -16,4 +16,5 @@
 // FORWARD DECLARATION
 class Text;
+class ShellCommandBase;
 template<class T> class tList;
 template<class T> class tIterator;
@@ -85,4 +86,5 @@
     const tList<const char>* createCompleteList(const tList<const char>* inputList, const char* classNameBegin);
     const tList<const char>* createCompleteList(const tList<BaseObject>* inputList, const char* classNameBegin);
+    const tList<const char>* createCompleteList(const tList<ShellCommandBase>* inputList, const char* classNameBegin);
 
     // helpers //
Index: trunk/src/util/shell_command.cc
===================================================================
--- trunk/src/util/shell_command.cc	(revision 5140)
+++ trunk/src/util/shell_command.cc	(revision 5141)
@@ -30,15 +30,17 @@
 ShellCommandBase::ShellCommandBase(const char* commandName, ClassID classID, unsigned int paramCount, ...)
 {
+  this->setClassID(CL_SHELL_COMMAND, "ShellCommand");
+  this->setName(commandName);
+
   va_list parameters;
   va_start(parameters, paramCount);
 
   this->classID = classID;
+  this->className = ClassList::IDToString(classID);
+
   if (classID & CL_MASK_SINGLETON == CL_MASK_SINGLETON)
     this->isSingleton = true;
   else
     this->isSingleton = false;
-
-  this->commandName = new char[strlen(commandName)+1];
-  strcpy(this->commandName, commandName);
 
   // handling parameters, and storing them:
@@ -55,5 +57,4 @@
 ShellCommandBase::~ShellCommandBase()
 {
-  delete[] this->commandName;
   delete[] this->parameters;
 }
@@ -78,5 +79,5 @@
   while(elem != NULL)
   {
-    if (classID == elem->classID && !strcmp(commandName, elem->commandName))
+    if (classID == elem->classID && !strcmp(commandName, elem->getName()))
     {
       PRINTF(2)("Command already registered\n");
@@ -104,6 +105,6 @@
   while(elem != NULL)
   {
-    printf("%s\n", elem->commandName);
-    if (!strncmp(executionString, elem->commandName, strlen(elem->commandName)))
+    printf("%s\n", elem->getName());
+    if (!strncmp(executionString, elem->getName(), strlen(elem->getName())))
     {
       elem->executeCommand(commandEnd);
@@ -116,3 +117,2 @@
   return true;
 }
-
Index: trunk/src/util/shell_command.h
===================================================================
--- trunk/src/util/shell_command.h	(revision 5140)
+++ trunk/src/util/shell_command.h	(revision 5141)
@@ -8,4 +8,6 @@
 
 #include "base_object.h"
+
+#include "helper_functions.h"
 
 #include <stdarg.h>
@@ -44,4 +46,5 @@
 
 
+
 ////////////////
 // BASE CLASS //
@@ -53,5 +56,6 @@
     static bool execute (const char* executionString);
 
-    virtual void executeCommand (const char* parameters) = NULL;
+    static const tList<ShellCommandBase>* getCommandList() { return ShellCommandBase::commandList; };
+
 
   protected:
@@ -60,4 +64,7 @@
 
     static bool isRegistered(const char* commandName, ClassID classID, unsigned int paramCount, ...);
+
+  private:
+    virtual void executeCommand (const char* parameters) = NULL;
 
   protected:
@@ -68,6 +75,6 @@
 
   private:
-    char*                            commandName;         //!< The name of the Command when executed
-    long                             classID;             //!< The ID of the Class asociated to this Command
+    long                             classID;             //!< The ID of the Class associated to this Command
+    const char*                      className;           //!< The Name of the Class associated to this Command
 
     // STATIC MEMBERS
@@ -133,9 +140,7 @@
 #define FUNCTOR_LIST(x) ShellCommand ## x
 //#include "functor_list.h"
-//ShellCommand2(l_INT, l_INT);
+//FUNCTOR_LIST(2)(l_INT, l_INT);
 #undef FUNCTOR_LIST
 
-  private:
-//    T*                   objectPointer;       //!< The pointer to the object to apply this function to (NULL if classID == CL_NULL )
 };
 
