Index: trunk/src/lib/shell/shell.h
===================================================================
--- trunk/src/lib/shell/shell.h	(revision 5783)
+++ trunk/src/lib/shell/shell.h	(revision 5784)
@@ -23,5 +23,4 @@
 class ShellInput;
 class Material;
-template<class T> class tIterator;
 
 //! A class that is able to redirect all output to a openGL-Shell, and that one can use to input some commands
Index: trunk/src/lib/shell/shell_buffer.h
===================================================================
--- trunk/src/lib/shell/shell_buffer.h	(revision 5783)
+++ trunk/src/lib/shell/shell_buffer.h	(revision 5784)
@@ -15,5 +15,5 @@
 // FORWARD DECLARATION
 class Shell;
-template<class T> class tList;
+
 #ifndef NULL
 #define NULL 0            //!< a pointer to NULL
Index: trunk/src/lib/shell/shell_command.h
===================================================================
--- trunk/src/lib/shell/shell_command.h	(revision 5783)
+++ trunk/src/lib/shell/shell_command.h	(revision 5784)
@@ -17,5 +17,4 @@
 
 // FORWARD DECLARATION
-template<class T> class tList;
 class ShellCommandClass;
 class ShellCommandAlias;
Index: trunk/src/lib/shell/shell_completion.h
===================================================================
--- trunk/src/lib/shell/shell_completion.h	(revision 5783)
+++ trunk/src/lib/shell/shell_completion.h	(revision 5784)
@@ -15,5 +15,4 @@
 class BaseObject;
 class ShellInput;
-template<class T> class tList;
 #ifndef NULL
 #define NULL 0            //!< a pointer to NULL
Index: trunk/src/lib/shell/shell_input.cc
===================================================================
--- trunk/src/lib/shell/shell_input.cc	(revision 5783)
+++ trunk/src/lib/shell/shell_input.cc	(revision 5784)
@@ -49,6 +49,5 @@
   this->inputLine = new char[1];
   this->inputLine[0] = '\0';
-  this->history = new tList<char>;
-  this->historyIT = this->history->getIterator();
+  this->historyIT = this->history.begin();
   this->setHistoryLength(50);
   this->historyScrolling = false;
@@ -75,12 +74,9 @@
   delete this->completion;
 
-  char* histEl = this->historyIT->firstElement();
-  while (histEl != NULL)
-  {
-    delete[] histEl;
-    histEl = this->historyIT->nextElement();
-  }
-  delete this->historyIT;
-  delete this->history;
+  while (!this->history.empty())
+  {
+    delete[] this->history.front();
+    this->history.pop_front();
+  }
 }
 
@@ -139,6 +135,6 @@
   if (this->historyScrolling)
   {
-    delete[] this->history->lastElement();
-    this->history->remove(this->history->lastElement());
+    delete[] this->history.back();
+    this->history.pop_back();
     this->historyScrolling = false;
   }
@@ -160,6 +156,6 @@
   if (this->historyScrolling)
   {
-    delete[] this->history->lastElement();
-    this->history->remove(this->history->lastElement());
+    delete[] this->history.back();
+    this->history.pop_back();
     this->historyScrolling = false;
   }
@@ -181,6 +177,6 @@
   if (this->historyScrolling)
   {
-    delete[] this->history->lastElement();
-    this->history->remove(this->history->lastElement());
+    delete[] this->history.back();
+    this->history.pop_back();
     this->historyScrolling = false;
   }
@@ -220,15 +216,15 @@
   if (this->historyScrolling)
   {
-    delete[] this->history->lastElement();
-    this->history->remove(this->history->lastElement());
+    delete[] this->history.back();
+    this->history.pop_back();
     this->historyScrolling = false;
   }
 
   // adding the new Command to the History
-  this->history->add(newCommand);
-  if (this->history->getSize() > this->historyLength)
-  {
-    delete[] this->history->firstElement();
-    this->history->remove(this->history->firstElement());
+  this->history.push_back(newCommand);
+  if (this->history.size() > this->historyLength)
+  {
+    delete[] this->history.front();
+    this->history.pop_front();
   }
 
@@ -248,10 +244,10 @@
     char* currentText = new char[strlen(this->inputLine)+1];
     strcpy(currentText, this->inputLine);
-    this->history->add(currentText);
+    this->history.push_back(currentText);
     this->historyScrolling = true;
-    this->historyIT->lastElement();
-  }
-
-  char* prevElem = this->historyIT->prevStep();
+    this->historyIT = this->history.end();
+  }
+
+  char* prevElem = *(this->historyIT--);
   if (prevElem == NULL)
     return;
@@ -270,5 +266,5 @@
   if (!this->historyScrolling)
     return;
-  char* nextElem = this->historyIT->nextStep();
+  char* nextElem = *(this->historyIT++);
   if (nextElem == NULL)
     return;
Index: trunk/src/lib/shell/shell_input.h
===================================================================
--- trunk/src/lib/shell/shell_input.h	(revision 5783)
+++ trunk/src/lib/shell/shell_input.h	(revision 5784)
@@ -12,8 +12,7 @@
 #include "text.h"
 #include "event_listener.h"
+#include <list>
 
 // FORWARD DECLARATION
-template<class T> class tList;
-template<class T> class tIterator;
 class ShellCompletion;
 
@@ -55,16 +54,16 @@
  private:
     // HANDLING TEXT INPUT
-   ShellCompletion*         completion;             //!< The Completion Interface.
+   ShellCompletion*            completion;             //!< The Completion Interface.
 
-   char*                    inputLine;              //!< the Char-Array of the Buffer
-   float                    repeatRate;             //!< The Repeat-Delay.
-   float                    repeatDelay;            //!< The delay of the first Character of a given Character.
-   float                    delayed;                //!< how much of the delay is remaining.
-   int                      pressedKey;             //!< the pressed key that will be repeated.
+   char*                       inputLine;              //!< the Char-Array of the Buffer
+   float                       repeatRate;             //!< The Repeat-Delay.
+   float                       repeatDelay;            //!< The delay of the first Character of a given Character.
+   float                       delayed;                //!< how much of the delay is remaining.
+   int                         pressedKey;             //!< the pressed key that will be repeated.
 
-   tList<char>*             history;                //!< The history of given commands.
-   tIterator<char>*         historyIT;
-   unsigned int             historyLength;          //!< The maximum length of the InputHistory.
-   bool                     historyScrolling;       //!< true if we are scrolling through the history.
+   std::list<char*>            history;                //!< The history of given commands.
+   std::list<char*>::iterator  historyIT;
+   unsigned int                historyLength;          //!< The maximum length of the InputHistory.
+   bool                        historyScrolling;       //!< true if we are scrolling through the history.
 };
 
