Index: /trunk/src/defs/debug.h
===================================================================
--- /trunk/src/defs/debug.h	(revision 7161)
+++ /trunk/src/defs/debug.h	(revision 7162)
@@ -33,4 +33,5 @@
 #include <stdio.h>
 #include <cassert>
+#include <iostream>
 
 // DEFINE ERROR MODES
Index: /trunk/src/lib/lang/class_list.cc
===================================================================
--- /trunk/src/lib/lang/class_list.cc	(revision 7161)
+++ /trunk/src/lib/lang/class_list.cc	(revision 7162)
@@ -53,5 +53,5 @@
 
 //! a List of all known Classes.
-std::list<ClassList>* ClassList::classList = NULL;
+std::vector<ClassList>* ClassList::classList = NULL;
 
 //! a List of all strings of all classes, that have registered so far.
@@ -70,5 +70,5 @@
 {
   if (unlikely(classList == NULL))
-    ClassList::classList = new list<ClassList>();
+    ClassList::classList = new std::vector<ClassList>();
 
   PRINTF(5)("subscribe a '%s'\n", className );
@@ -94,12 +94,14 @@
 void ClassList::removeFromClassList(BaseObject* objectPointer)
 {
-  list<ClassList>::iterator cl;
-  for(cl = ClassList::classList->begin(); cl != ClassList::classList->end(); cl++)
-  {
-    if (objectPointer->isA((*cl).classID))
-    {
-      std::list<BaseObject*>::iterator bo = std::find ((*cl).objectList.begin(), (*cl).objectList.end(), objectPointer);
-      if (bo != (*cl).objectList.end())
-          (*cl).objectList.erase(bo);
+  for(unsigned int cl= 0; cl < ClassList::classList->size(); cl++)
+  {
+    if (objectPointer->isA((*ClassList::classList)[cl].classID))
+    {
+      std::list<BaseObject*>::iterator bo =
+          std::find ((*ClassList::classList)[cl].objectList.begin(),
+                       (*ClassList::classList)[cl].objectList.end(),
+                     objectPointer);
+      if (bo != (*ClassList::classList)[cl].objectList.end())
+        (*ClassList::classList)[cl].objectList.erase(bo);
     }
   }
@@ -119,7 +121,6 @@
       ClassList::classNames.clear();
 
-      list<ClassList>::const_iterator cl;
-      for (cl = ClassList::classList->begin(); cl != ClassList::classList->end(); cl++)
-        ClassList::classNames.push_back((*cl).className);
+      for (unsigned int cl = 0; cl < ClassList::classList->size(); cl++)
+        ClassList::classNames.push_back((*ClassList::classList)[cl].className);
   }
 
@@ -181,5 +182,5 @@
 ClassList* ClassList::getClassList(ClassID classID)
 {
-  std::list<ClassList>::iterator classIT = find (ClassList::classList->begin(), ClassList::classList->end(), classID);
+  std::vector<ClassList>::iterator classIT = find (ClassList::classList->begin(), ClassList::classList->end(), classID);
   return (likely(classIT != classList->end()))? &(*classIT) : NULL;
 }
@@ -195,5 +196,5 @@
   if (className == NULL)
     return NULL;
-  std::list<ClassList>::iterator classIT = find (classList->begin(), classList->end(), className);
+  std::vector<ClassList>::iterator classIT = find (classList->begin(), classList->end(), className);
   return (likely(classIT != classList->end()))? &(*classIT) : NULL;
 }
@@ -222,9 +223,8 @@
   else
   {
-    list<ClassList>::iterator cl;
-    for (cl = ClassList::classList->begin(); cl != ClassList::classList->end(); cl++)
-    {
-      std::list<BaseObject*>::iterator bo;
-      for (bo = (*cl).objectList.begin(); bo != (*cl).objectList.end(); bo++)
+    std::list<BaseObject*>::iterator bo;
+    for (unsigned int cl = 0; cl < ClassList::classList->size(); cl++)
+    {
+      for (bo = (*ClassList::classList)[cl].objectList.begin(); bo != (*ClassList::classList)[cl].objectList.end(); bo++)
         if ((*bo)->getName() != NULL && !strcmp((*bo)->getName(), objectName))
           return (*bo);
@@ -255,9 +255,10 @@
   else
   {
-    list<ClassList>::iterator cl;
-    for (cl = ClassList::classList->begin(); cl != ClassList::classList->end(); cl++)
-    {
-      std::list<BaseObject*>::const_iterator bo = find ((*cl).objectList.begin(), (*cl).objectList.end(), object);
-      if (bo != (*cl).objectList.end())
+    for (unsigned int cl = 0; cl < ClassList::classList->size(); cl++)
+    {
+      std::list<BaseObject*>::const_iterator bo =
+          find ((*ClassList::classList)[cl].objectList.begin(),
+          (*ClassList::classList)[cl].objectList.end(), object);
+      if (bo != (*ClassList::classList)[cl].objectList.end())
         return true;
     }
@@ -272,9 +273,10 @@
 void ClassList::whatIs(const BaseObject* object)
 {
-  list<ClassList>::iterator cl;
-  for (cl = ClassList::classList->begin(); cl != ClassList::classList->end(); cl++)
-    if (object->isA((*cl).classID))
-  {
-    PRINT(0)("=%s::0x%.8X=-", (*cl).className, (*cl).classID);
+  for (unsigned int cl = 0; cl < ClassList::classList->size(); cl++)
+    if (object->isA((*ClassList::classList)[cl].classID))
+  {
+    PRINT(0)("=%s::0x%.8X=-",
+    (*ClassList::classList)[cl].className,
+    (*ClassList::classList)[cl].classID);
   }
 }
@@ -333,24 +335,24 @@
   unsigned int lenCount = 0;
 
-  list<ClassList>::iterator cl;
-  for (cl = ClassList::classList->begin(); cl != ClassList::classList->end(); cl++)
-  {
-    if ((debugLevel >= 1 || (*cl).objectList.size() > 0 ) &&
-         (classID == CL_NULL || unlikely (classID == (*cl).classID)))
+  for (unsigned int cl = 0; cl < ClassList::classList->size(); cl++)
+  {
+    if ((debugLevel >= 1 || (*ClassList::classList)[cl].objectList.size() > 0 ) &&
+         (classID == CL_NULL || unlikely (classID == (*ClassList::classList)[cl].classID)))
     {
       lenCount = 1;
-      while (pow(10, lenCount) <= (*cl).objectList.size())
+      while (pow(10, lenCount) <= (*ClassList::classList)[cl].objectList.size())
         ++lenCount;
-      for (int i=0; i < 30-strlen((*cl).className) - lenCount; i++)
+      for (int i=0; i < 30-strlen((*ClassList::classList)[cl].className) - lenCount; i++)
         (niceString[i]) = ' ';
-      niceString[30-strlen((*cl).className) - lenCount] = '\0';
-
-      PRINT(0)("| CLASS %s::%s %d\n", (*cl).className, niceString, (*cl).objectList.size());
-
-      if (debugLevel >=2 && (*cl).objectList.size() > 0)
+      niceString[30-strlen((*ClassList::classList)[cl].className) - lenCount] = '\0';
+
+      PRINT(0)("| CLASS %s::%s %d\n", (*ClassList::classList)[cl].className, niceString,
+            (*ClassList::classList)[cl].objectList.size());
+
+      if (debugLevel >=2 && (*ClassList::classList)[cl].objectList.size() > 0)
       {
         PRINT(0)("|  Listing Instances:\n");
         list<BaseObject*>::const_iterator bo;
-        for (bo = (*cl).objectList.begin(); bo != (*cl).objectList.end(); bo++)
+        for (bo = (*ClassList::classList)[cl].objectList.begin(); bo != (*ClassList::classList)[cl].objectList.end(); bo++)
         {
           PRINT(0)("|   %s::%s::(0x%.8X->%p ", (*bo)->getClassName(), (*bo)->getName(), (*bo)->getClassID(), (*bo));
Index: /trunk/src/lib/lang/class_list.h
===================================================================
--- /trunk/src/lib/lang/class_list.h	(revision 7161)
+++ /trunk/src/lib/lang/class_list.h	(revision 7162)
@@ -10,4 +10,5 @@
 #include "class_id.h"
 #include <list>
+#include <vector>
 #ifndef NULL
 #define NULL     0    //!< NULL
@@ -73,5 +74,5 @@
 
     // STATIC MEMBERS
-    static std::list<ClassList>*    classList;              //!< The first Class in the List
+    static std::vector<ClassList>*  classList;              //!< The list of ClassLists.
     static std::list<const char*>   classNames;             //!< a List of all Names of all classes, that have registered so far.
 };
Index: /trunk/src/subprojects/importer/importer.cc
===================================================================
--- /trunk/src/subprojects/importer/importer.cc	(revision 7161)
+++ /trunk/src/subprojects/importer/importer.cc	(revision 7162)
@@ -62,5 +62,5 @@
     }
   }
- // else
+  else
     obj = new PrimitiveModel(PRIM_CYLINDER);
 
