Index: orxonox/trunk/src/lib/graphics/graphics_engine.cc
===================================================================
--- orxonox/trunk/src/lib/graphics/graphics_engine.cc	(revision 4746)
+++ orxonox/trunk/src/lib/graphics/graphics_engine.cc	(revision 4747)
@@ -92,5 +92,5 @@
   */
     // setting up the Resolution
-  this->setResolution(800, 450, 16);
+  this->setResolution(1000, 1000, 16);
 
   // TO DO: Create a cool icon and use it here
Index: orxonox/trunk/src/lib/lang/base_object.cc
===================================================================
--- orxonox/trunk/src/lib/lang/base_object.cc	(revision 4746)
+++ orxonox/trunk/src/lib/lang/base_object.cc	(revision 4747)
@@ -18,6 +18,8 @@
 
 #include "base_object.h"
+
 #include "load_param.h"
 #include "compiler.h"
+#include "class_list.h"
 
 using namespace std;
@@ -38,4 +40,6 @@
   if (root)
     this->loadParams(root);
+
+  ClassList::addToClassList(this, this->classID, "BaseObject");
 }
 
@@ -45,8 +49,9 @@
 BaseObject::~BaseObject ()
 {
+  ClassList::removeFromClassList(this);
+
   //  delete []this->className;
   if (this->objectName)
-    delete []this->objectName;
-}
+    delete []this->objectName;}
 
 /**
@@ -70,4 +75,6 @@
   this->classID |= classID;
   this->className = className;
+
+  ClassList::addToClassList(this, classID, className);
 }
 
@@ -94,5 +101,5 @@
    \returns true if it is, false otherwise
 */
-bool BaseObject::isA (ClassID classID) const
+bool BaseObject::isA (long classID) const
 {
   // if classID is a derivable object
Index: orxonox/trunk/src/lib/lang/base_object.h
===================================================================
--- orxonox/trunk/src/lib/lang/base_object.h	(revision 4746)
+++ orxonox/trunk/src/lib/lang/base_object.h	(revision 4747)
@@ -35,5 +35,5 @@
   inline int getClassID() const { return this->classID; }
 
-  bool isA (ClassID classID) const;
+  bool isA (long classID) const;
   void whatIs() const;
 
Index: orxonox/trunk/src/lib/lang/class_list.cc
===================================================================
--- orxonox/trunk/src/lib/lang/class_list.cc	(revision 4746)
+++ orxonox/trunk/src/lib/lang/class_list.cc	(revision 4747)
@@ -17,4 +17,8 @@
 
 #include "class_list.h"
+#include "base_object.h"
+
+#include "compiler.h"
+#include "debug.h"
 
 using namespace std;
@@ -25,16 +29,10 @@
    \todo this constructor is not jet implemented - do it
 */
-ClassList::ClassList ()
+ClassList::ClassList(const long& classID, const char* className)
 {
-   /* If you make a new class, what is most probably the case when you write this file
-      don't forget to:
-       1. Add the new file new_class.cc to the ./src/Makefile.am
-       2. Add the class identifier to ./src/class_id.h eg. CL_NEW_CLASS
-
-      Advanced Topics:
-      - if you want to let your object be managed via the ObjectManager make sure to read
-        the object_manager.h header comments. You will use this most certanly only if you
-        make many objects of your class, like a weapon bullet.
-   */
+  this->objectCount = 0;
+  this->next = NULL;
+  this->className = className;
+  this->classID = classID;
 }
 
@@ -48,2 +46,64 @@
   // delete what has to be deleted here
 }
+
+ClassList*  ClassList::first = NULL;
+unsigned int ClassList::classCount = 0;
+
+
+
+void ClassList::addToClassList(BaseObject* objectPointer, const long& classID, const char* className)
+{
+  ClassList* regClass;
+
+  if(ClassList::first == NULL)
+    ClassList::first = regClass = new ClassList(classID, className);
+  else
+  {
+    ClassList* tmp = ClassList::first;
+    while (likely(tmp != NULL))
+    {
+      if (tmp->classID == classID)
+      {
+        regClass = tmp;
+        break;
+      }
+
+      if (tmp->next == NULL)
+        tmp->next = regClass = new ClassList(classID, className);
+      tmp = tmp->next;
+    }
+  }
+
+  ++regClass->objectCount;
+}
+
+void ClassList::removeFromClassList(BaseObject* objectPointer)
+{
+  ClassList* tmp = ClassList::first;
+  while (likely(tmp != NULL))
+  {
+    if (objectPointer->isA(tmp->classID))
+    {
+      --tmp->objectCount;
+    }
+
+    tmp = tmp->next;
+  }
+}
+
+
+void ClassList::debug()
+{
+  PRINT(0)("=================\n");
+  PRINT(0)("=  CLASS_LIST   =\n");
+  PRINT(0)("=================\n");
+  ClassList* tmp = ClassList::first;
+  while (likely(tmp != NULL))
+  {
+    PRINT(0)("CLASS %s has %d instances\n", tmp->className, tmp->objectCount);
+
+    tmp = tmp->next;
+  }
+  PRINT(0)("==============CL=\n");
+
+}
Index: orxonox/trunk/src/lib/lang/class_list.h
===================================================================
--- orxonox/trunk/src/lib/lang/class_list.h	(revision 4746)
+++ orxonox/trunk/src/lib/lang/class_list.h	(revision 4747)
@@ -3,5 +3,5 @@
     \brief Definition of the Class List, that handles a Class-Specific-Control structure
 
-*/
+ */
 
 #ifndef _CLASS_LIST_H
@@ -15,19 +15,39 @@
 
 
-//! A class for
+//! A class that handles Pointers to Objects of all type.
+/**
+  here all the Pointers to all the Object of orxonox are stored, that implement BaseObject
+  for now, this is only for debugging reasons, and we should be able to detect undeleted
+  Objects.
+ */
 class ClassList {
 
- public:
-  ClassList();
-  virtual ~ClassList();
+  public:
+    ClassList(const long& classID, const char* className);
+    virtual ~ClassList();
+
+    static void addToClassList(BaseObject* objectPointer, const long& classID, const char* className);
+    static void removeFromClassList(BaseObject* objectPointer);
+
+    static void debug();
+
+  private:
+    //! a Struct for Lists of Objects
+    struct ObjectList
+    {
+      BaseObject*            pointerToObject;
+      ObjectList*            next;
+    };
+
+    long                     classID;
+    const char*              className;
+
+    ClassList*               next;
+
+    unsigned int             objectCount;
 
 
-  void addToClassList(BaseObject* objectPointer, ClassID classID, const char* className);
- private:
-   static ClassList* first;
-   static ClassList* last;
-
-   int classCount;
-
+    static ClassList*        first;
+    static unsigned int      classCount;
 
 };
