Index: branches/new_class_id/src/lib/shell/Makefile.am
===================================================================
--- branches/new_class_id/src/lib/shell/Makefile.am	(revision 9860)
+++ branches/new_class_id/src/lib/shell/Makefile.am	(revision 9861)
@@ -6,5 +6,4 @@
 libORXshell_a_SOURCES = \
 		shell.cc \
-		shell_buffer.cc \
 		shell_input.cc \
 		shell_command.cc \
@@ -16,5 +15,4 @@
 noinst_HEADERS= \
 		shell.h \
-		shell_buffer.h \
 		shell_input.h \
 		shell_command_class.h \
Index: branches/new_class_id/src/lib/shell/shell.cc
===================================================================
--- branches/new_class_id/src/lib/shell/shell.cc	(revision 9860)
+++ branches/new_class_id/src/lib/shell/shell.cc	(revision 9861)
@@ -18,5 +18,5 @@
 #include "shell.h"
 #include "shell_command.h"
-#include "shell_buffer.h"
+#include "debug_buffer.h"
 #include "shell_input.h"
 
@@ -65,5 +65,5 @@
     this->setName("Shell");
 
-    this->shellBuffer = ShellBuffer::getInstance();
+    this->shellBuffer = DebugBuffer::getInstance();
 
     // EVENT-Handler subscription of '`' to all States.
@@ -446,5 +446,5 @@
   {
     this->flush();
-    ShellBuffer::addBufferLineStatic("orxonox - shell\n ==================== \n", NULL);
+    DebugBuffer::addBufferLineStatic("orxonox - shell\n ==================== \n", NULL);
   }
 
Index: branches/new_class_id/src/lib/shell/shell.h
===================================================================
--- branches/new_class_id/src/lib/shell/shell.h	(revision 9860)
+++ branches/new_class_id/src/lib/shell/shell.h	(revision 9861)
@@ -14,5 +14,5 @@
 
 #include "shell_input.h"
-#include "shell_buffer.h"
+#include "debug_buffer.h"
 #include "material.h"
 
@@ -93,5 +93,5 @@
   private:
     // GENERAL
-    ShellBuffer*                shellBuffer;            //!< The local ShellBuffer.
+    DebugBuffer*                shellBuffer;            //!< The local ShellBuffer.
 
     bool                        bActive;                //!< If the shell is active.
Index: branches/new_class_id/src/lib/shell/shell_buffer.cc
===================================================================
--- branches/new_class_id/src/lib/shell/shell_buffer.cc	(revision 9860)
+++ 	(revision )
@@ -1,139 +1,0 @@
-/*
-   orxonox - the future of 3D-vertical-scrollers
-
-   Copyright (C) 2004 orx
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   ### File Specific:
-   main-programmer: Benjamin Grauer
-   co-programmer: ...
-*/
-
-#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_SHELL
-
-#include "shell_buffer.h"
-
-#include <stdarg.h>
-
-#include "debug.h"
-#include "compiler.h"
-#include "lib/util/threading.h"
-
-namespace OrxShell
-{
-  /**
-   * @brief standard constructor
-   */
-  ShellBuffer::ShellBuffer ()
-  {
-    ShellBuffer::singletonRef = this;
-
-    this->lineCount = 0;
-    this->bufferArray[0] = '\0';
-
-    this->setMaxBufferSize(100);
-  }
-
-  ShellBuffer* ShellBuffer::singletonRef = NULL;
-  std::list<std::string> ShellBuffer::buffer;
-  char ShellBuffer::bufferArray[SHELL_BUFFER_SIZE] = "";
-
-
-  /**
-   * @brief standard deconstructor
-   */
-  ShellBuffer::~ShellBuffer ()
-  {
-    ShellBuffer::singletonRef = NULL;
-  }
-
-  /**
-   * @brief deletes all the Buffers
-   */
-  void ShellBuffer::flush()
-  {
-    this->buffer.clear();
-  }
-
-  /**
-   * @brief adds a new Line to the List of Buffers
-   * @param line the Line as in the first argument in printf
-   */
-  void ShellBuffer::addBufferLineStatic(const char* line, ...)
-  {
-    static OrxThread::Mutex ShellBuffer__bufferMutex;
-
-    OrxThread::MutexLock bufferLock(&ShellBuffer__bufferMutex);
-
-    va_list arguments;
-    va_start(arguments, line);
-    vsnprintf(ShellBuffer::bufferArray, SHELL_BUFFER_SIZE, line, arguments);
-    va_end(arguments);
-
-#if DEBUG_LEVEL < 3
-    if (ShellBuffer::singletonRef == NULL)
-#endif
-      printf(ShellBuffer::bufferArray);
-#if DEBUG_LEVEL < 3
-    else
-#else
-    if (ShellBuffer::singletonRef != NULL)
-#endif
-      ShellBuffer::singletonRef->addBufferLine(ShellBuffer::bufferArray);
-  }
-
-  /**
-   * @brief add a Line to the List of Buffers
-   * @param line
-   * @param arguments
-   *
-   * This function Adds one line to the buffer.
-   * and displays the line as the First Line of the display-buffer
-   */
-  void ShellBuffer::addBufferLine(const char* line)
-  {
-    std::string inputBuffer = this->keepBuffer + line;
-
-    unsigned int lineBegin = 0;
-    unsigned int lineEnd = 0;
-    // adding all the new Lines
-    while (lineEnd < inputBuffer.size())
-    {
-      lineBegin = lineEnd;
-      lineEnd = inputBuffer.find('\n', (lineBegin == 0) ? 0: ++lineBegin);
-      if (likely(lineEnd != std::string::npos ))
-      {
-        this->lineCount++;
-        this->buffer.push_front(inputBuffer.substr(lineBegin, lineEnd - lineBegin));
-      }
-      else      // No end of Line reached.
-      {
-        this->keepBuffer = inputBuffer.substr(lineBegin, inputBuffer.size() - lineBegin);
-        break;
-      }
-
-      if (inputBuffer[lineBegin] == '\n')
-        lineBegin++, lineEnd++;
-
-      if (this->buffer.size() > this->maxBufferSize)
-        this->buffer.pop_back();
-    }
-  }
-
-  /**
-   * @brief displays some nice output from the Shell
-   */
-  void ShellBuffer::debug() const
-  {
-    PRINT(3)("Debugging output to console (not this shell)\n");
-
-    std::list<std::string>::const_iterator bufferLine;
-    for (bufferLine = --this->buffer.end(); bufferLine != this->buffer.begin(); --bufferLine)
-      printf((*bufferLine).c_str());
-  }
-
-}
Index: branches/new_class_id/src/lib/shell/shell_buffer.h
===================================================================
--- branches/new_class_id/src/lib/shell/shell_buffer.h	(revision 9860)
+++ 	(revision )
@@ -1,68 +1,0 @@
-/*!
- * @file shell_buffer.h
- * @brief The Shell buffer Tasks
- * @see debug.h
-*/
-
-#ifndef _SHELL_BUFFER_H
-#define _SHELL_BUFFER_H
-
-#include <string>
-#include <list>
-#include <stdarg.h>
-
-#define      SHELL_BUFFER_SIZE       16384         //!< The Size of the input-buffers (should be large enough to carry any kind of input)
-
-namespace OrxShell
-{
-  //! A class handling output from orxonox via debug.h
-  /**
-   * the ShellBuffer redirects output from PRINTF(x) to the Shell and STDOUT
-   * the ShellBuffer is a front-filling queue of limited length, that has the
-   * youngest added Entry at the beginning, and the oldest at the end.
-   */
-  class ShellBuffer
-  {
-  public:
-    virtual ~ShellBuffer();
-    /** @returns a Pointer to the only object of this Class */
-    inline static ShellBuffer* getInstance() { if (!ShellBuffer::singletonRef) ShellBuffer::singletonRef = new ShellBuffer();  return ShellBuffer::singletonRef; };
-    /** @returns true if this class is instanciated, false otherwise */
-    inline static bool isInstanciated() { return (ShellBuffer::singletonRef == NULL)?false:true; };
-
-    static void addBufferLineStatic(const char* line, ...);
-    void addBufferLine(const char* line);
-
-    /// BUFFER
-    /** @param bufferSize the new Buffer-Size */
-    void setMaxBufferSize(unsigned int maxBufferSize) { this->maxBufferSize = maxBufferSize; };
-    void flush();
-
-    /** @returns the List of stings from the Buffer */
-    const std::list<std::string>& getBuffer() const { return this->buffer; };
-    /** @returns the Count of lines processed by the Shell. */
-    inline unsigned long getLineCount() const { return this->lineCount; };
-    /** @returns the Current Buffer Size. */
-    inline unsigned int getBufferSize() const { return this->buffer.size(); };
-
-    void debug() const;
-
-  private:
-    ShellBuffer();
-
-  private:
-    static ShellBuffer*           singletonRef;                       //!< The singleton-reference to the only memeber of this class.
-    unsigned int                  maxBufferSize;                         //!< The Size of the buffer
-
-    std::string                   keepBuffer;                         //!< a BUFFER to have multi-non-newLine commands be copied into the shell.
-
-    unsigned long                 lineCount;                          //!< how many Lines have been written out so far.
-
-    // The Beginning of buffer (buffer.front()) is the last added line.
-    static char                   bufferArray[SHELL_BUFFER_SIZE];     //!< a BUFFER for fast writing
-    static std::list<std::string> buffer;                             //!< A list of stored char-arrays(strings) to store the history
-  };
-
-}
-
-#endif /* _SHELL_BUFFER_H */
Index: branches/new_class_id/src/lib/shell/shell_input.cc
===================================================================
--- branches/new_class_id/src/lib/shell/shell_input.cc	(revision 9860)
+++ branches/new_class_id/src/lib/shell/shell_input.cc	(revision 9861)
@@ -161,5 +161,5 @@
   bool ShellInput::executeCommand()
   {
-    ShellBuffer::addBufferLineStatic("Execute Command: %s\n", this->inputLine.c_str());
+    DebugBuffer::addBufferLineStatic("Execute Command: %s\n", this->inputLine.c_str());
 
     if (this->inputLine.empty())
Index: branches/new_class_id/src/lib/util/Makefile.am
===================================================================
--- branches/new_class_id/src/lib/util/Makefile.am	(revision 9860)
+++ branches/new_class_id/src/lib/util/Makefile.am	(revision 9861)
@@ -14,4 +14,5 @@
 		helper_functions.cc \
 		multi_type.cc \
+		debug_buffer.cc \
 		\
 		loading/resource_manager.cc \
@@ -39,4 +40,6 @@
 		color.h \
 		helper_functions.h \
+		debug.h \
+		debug_buffer.h \
 		\
 		\
Index: branches/new_class_id/src/lib/util/debug.h
===================================================================
--- branches/new_class_id/src/lib/util/debug.h	(revision 9860)
+++ branches/new_class_id/src/lib/util/debug.h	(revision 9861)
@@ -27,7 +27,7 @@
 
 #include "defs/confincl.h"
-#ifndef NO_SHELL
-#include "lib/shell/shell_buffer.h"
-#endif /* NO_SHELL */
+#ifndef NO_BUFFER
+#include "debug_buffer.h"
+#endif /* NO_BUFFER */
 
 #include <stdio.h>
@@ -114,5 +114,5 @@
 #endif
 #ifndef NO_SHELL
-#define PRINT_EXEC       OrxShell::ShellBuffer::addBufferLineStatic
+#define PRINT_EXEC       DebugBuffer::addBufferLineStatic
 #define COUT_EXEC        std::cout
 #else /* NO_SHELL */
Index: branches/new_class_id/src/lib/util/debug_buffer.cc
===================================================================
--- branches/new_class_id/src/lib/util/debug_buffer.cc	(revision 9861)
+++ branches/new_class_id/src/lib/util/debug_buffer.cc	(revision 9861)
@@ -0,0 +1,133 @@
+/*
+   orxonox - the future of 3D-vertical-scrollers
+
+   Copyright (C) 2004 orx
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   ### File Specific:
+   main-programmer: Benjamin Grauer
+   co-programmer: ...
+*/
+
+#include "debug_buffer.h"
+
+#include <stdarg.h>
+
+#include "debug.h"
+#include "compiler.h"
+#include "threading.h"
+
+/**
+ * @brief standard constructor
+ */
+DebugBuffer::DebugBuffer ()
+{
+  DebugBuffer::singletonRef = this;
+
+  this->lineCount = 0;
+  this->bufferArray[0] = '\0';
+
+  this->setMaxBufferSize(100);
+}
+
+DebugBuffer* DebugBuffer::singletonRef = NULL;
+std::list<std::string> DebugBuffer::buffer;
+char DebugBuffer::bufferArray[DEBUG_BUFFER_SIZE] = "";
+
+
+/**
+ * @brief standard deconstructor
+ */
+DebugBuffer::~DebugBuffer ()
+{
+  DebugBuffer::singletonRef = NULL;
+}
+
+/**
+ * @brief deletes all the Buffers
+ */
+void DebugBuffer::flush()
+{
+  this->buffer.clear();
+}
+
+/**
+ * @brief adds a new Line to the List of Buffers
+ * @param line the Line as in the first argument in printf
+ */
+void DebugBuffer::addBufferLineStatic(const char* line, ...)
+{
+  static OrxThread::Mutex DebugBuffer__bufferMutex;
+
+  OrxThread::MutexLock bufferLock(&DebugBuffer__bufferMutex);
+
+  va_list arguments;
+  va_start(arguments, line);
+  vsnprintf(DebugBuffer::bufferArray, DEBUG_BUFFER_SIZE, line, arguments);
+  va_end(arguments);
+
+#if DEBUG_LEVEL < 3
+  if (DebugBuffer::singletonRef == NULL)
+#endif
+    printf(DebugBuffer::bufferArray);
+#if DEBUG_LEVEL < 3
+  else
+#else
+  if (DebugBuffer::singletonRef != NULL)
+#endif
+    DebugBuffer::singletonRef->addBufferLine(DebugBuffer::bufferArray);
+}
+
+/**
+ * @brief add a Line to the List of Buffers
+ * @param line
+ * @param arguments
+ *
+ * This function Adds one line to the buffer.
+ * and displays the line as the First Line of the display-buffer
+ */
+void DebugBuffer::addBufferLine(const char* line)
+{
+  std::string inputBuffer = this->keepBuffer + line;
+
+  unsigned int lineBegin = 0;
+  unsigned int lineEnd = 0;
+  // adding all the new Lines
+  while (lineEnd < inputBuffer.size())
+  {
+    lineBegin = lineEnd;
+    lineEnd = inputBuffer.find('\n', (lineBegin == 0) ? 0: ++lineBegin);
+    if (likely(lineEnd != std::string::npos ))
+    {
+      this->lineCount++;
+      this->buffer.push_front(inputBuffer.substr(lineBegin, lineEnd - lineBegin));
+    }
+    else      // No end of Line reached.
+    {
+      this->keepBuffer = inputBuffer.substr(lineBegin, inputBuffer.size() - lineBegin);
+      break;
+    }
+
+    if (inputBuffer[lineBegin] == '\n')
+      lineBegin++, lineEnd++;
+
+    if (this->buffer.size() > this->maxBufferSize)
+      this->buffer.pop_back();
+  }
+}
+
+/**
+ * @brief displays some nice output from the Debug
+ */
+void DebugBuffer::debug() const
+{
+  PRINT(3)("Debugging output to console (not this debug)\n");
+
+  std::list<std::string>::const_iterator bufferLine;
+  for (bufferLine = --this->buffer.end(); bufferLine != this->buffer.begin(); --bufferLine)
+    printf((*bufferLine).c_str());
+}
Index: branches/new_class_id/src/lib/util/debug_buffer.h
===================================================================
--- branches/new_class_id/src/lib/util/debug_buffer.h	(revision 9861)
+++ branches/new_class_id/src/lib/util/debug_buffer.h	(revision 9861)
@@ -0,0 +1,63 @@
+/*!
+ * @file debug_buffer.h
+ * @brief The Debug buffer Tasks
+ * @see debug.h
+*/
+
+#ifndef _DEBUG_BUFFER_H
+#define _DEBUG_BUFFER_H
+
+#include <string>
+#include <list>
+
+#define      DEBUG_BUFFER_SIZE       16384         //!< The Size of the input-buffers (should be large enough to carry any kind of input)
+
+  //! A class handling output from orxonox via debug.h
+  /**
+   * the DebugBuffer redirects output from PRINTF(x) to the Debug and STDOUT
+   * the DebugBuffer is a front-filling queue of limited length, that has the
+   * youngest added Entry at the beginning, and the oldest at the end.
+   */
+  class DebugBuffer
+  {
+  public:
+    virtual ~DebugBuffer();
+    /** @returns a Pointer to the only object of this Class */
+    inline static DebugBuffer* getInstance() { if (!DebugBuffer::singletonRef) DebugBuffer::singletonRef = new DebugBuffer();  return DebugBuffer::singletonRef; };
+    /** @returns true if this class is instanciated, false otherwise */
+    inline static bool isInstanciated() { return (DebugBuffer::singletonRef == NULL)?false:true; };
+
+    static void addBufferLineStatic(const char* line, ...);
+    void addBufferLine(const char* line);
+
+    /// BUFFER
+    /** @param bufferSize the new Buffer-Size */
+    void setMaxBufferSize(unsigned int maxBufferSize) { this->maxBufferSize = maxBufferSize; };
+    void flush();
+
+    /** @returns the List of stings from the Buffer */
+    const std::list<std::string>& getBuffer() const { return this->buffer; };
+    /** @returns the Count of lines processed by the Debug. */
+    inline unsigned long getLineCount() const { return this->lineCount; };
+    /** @returns the Current Buffer Size. */
+    inline unsigned int getBufferSize() const { return this->buffer.size(); };
+
+    void debug() const;
+
+  private:
+    DebugBuffer();
+
+  private:
+    static DebugBuffer*           singletonRef;                       //!< The singleton-reference to the only memeber of this class.
+    unsigned int                  maxBufferSize;                      //!< The Size of the buffer
+
+    std::string                   keepBuffer;                         //!< a BUFFER to have multi-non-newLine commands be copied into the debug.
+
+    unsigned long                 lineCount;                          //!< how many Lines have been written out so far.
+
+    // The Beginning of buffer (buffer.front()) is the last added line.
+    static char                   bufferArray[DEBUG_BUFFER_SIZE];     //!< a BUFFER for fast writing
+    static std::list<std::string> buffer;                             //!< A list of stored char-arrays(strings) to store the history
+  };
+
+#endif /* _DEBUG_BUFFER_H */
