Index: orxonox/trunk/src/command_node.cc
===================================================================
--- orxonox/trunk/src/command_node.cc	(revision 3213)
+++ orxonox/trunk/src/command_node.cc	(revision 3214)
@@ -33,5 +33,5 @@
 CommandNode::CommandNode (int ID)
 {
-  this->bound = new List();
+  this->bound = new tList<WorldEntity>();
   this->aliases = NULL;
   this->netID = ID;
@@ -49,5 +49,5 @@
   this->bLocalInput = true;
   this->netID = 0;
-  this->bound = new List();
+  this->bound = new tList<WorldEntity>();
   this->bEnabled = true;
   this->load_bindings (filename);
Index: orxonox/trunk/src/command_node.h
===================================================================
--- orxonox/trunk/src/command_node.h	(revision 3213)
+++ orxonox/trunk/src/command_node.h	(revision 3214)
@@ -42,5 +42,5 @@
   int netID;	//!< Unique identifier that is used to determine between remote CommandNodes
   KeyBindings* aliases;
-  List* bound;	//!< List of WorldEntites that recieve commands from this CommandNode
+  tList<WorldEntity>* bound;	//!< List of WorldEntites that recieve commands from this CommandNode
   Sint32 coord[2];
   
Index: orxonox/trunk/src/list_template.h
===================================================================
--- orxonox/trunk/src/list_template.h	(revision 3213)
+++ orxonox/trunk/src/list_template.h	(revision 3214)
@@ -46,14 +46,15 @@
   ~ListTemplate ();
   
-  int add (T* obj, ADDMODE mode, bool bRef);
+  int add(T* obj, ADDMODE mode, bool bRef);
   T* get_object();
-  ListTemplate<T>* get_next ();
-  ListTemplate<T>* get_previous ();
-  ListTemplate<T>* get_last ();
-  ListTemplate<T>* get_first ();
-  void set_next (ListTemplate<T>* ptr);
-  void set_prev (ListTemplate<T>* ptr);
+  ListTemplate<T>* get_next();
+  ListTemplate<T>* get_previous();
+  ListTemplate<T>* get_last();
+  ListTemplate<T>* get_first();
+  void set_next(ListTemplate<T>* ptr);
+  void set_prev(ListTemplate<T>* ptr);
   int remove (T* obj, FINDMODE mode);
   int getSize();
+  void destroy();
 };
 
@@ -297,4 +298,11 @@
 }
 
+
+template<class T>
+void ListTemplate<T>::destroy()
+{
+  /* \todo at the moment - doing nothing. should delete everything */
+}
+
 #endif
 
Index: orxonox/trunk/src/orxonox.cc
===================================================================
--- orxonox/trunk/src/orxonox.cc	(revision 3213)
+++ orxonox/trunk/src/orxonox.cc	(revision 3214)
@@ -74,15 +74,4 @@
 void Orxonox::get_config_file (int argc, char** argv)
 {
-  /*	char* path;
-    #ifdef __WIN32__
-    path = getenv("");
-    #else
-    path = getenv("HOME");
-    #endif
-    
-    if( path != NULL) strcpy (configfilename, path);
-    else strcpy (configfilename, "./");
-    strcat (configfilename, "/.orxonox.conf");*/
-  
   strcpy (configfilename, "orxonox.conf");
 }
@@ -176,4 +165,5 @@
 }
 
+
 /**
    \brief initializes the sound engine
@@ -187,4 +177,5 @@
 }
 
+
 /**
    \brief initializes input functions
@@ -198,4 +189,5 @@
 }
 
+
 /**
    \brief initializes network system
@@ -207,4 +199,5 @@
 }
 
+
 /**
    \brief initializes and loads resource files
@@ -215,4 +208,5 @@
   return 0;
 }
+
 
 /**
@@ -247,4 +241,5 @@
 }
 
+
 /**
    \brief exits Orxonox
@@ -255,28 +250,5 @@
 }
 
-/**
-   \brief this runs all of Orxonox
-*/
-void Orxonox::mainLoop()
-{
-  lastframe = SDL_GetTicks();
-  bQuitOrxonox = false;
-  // This is where everything is run
-  printf("Orxonox|Entering main loop\n");
-  while( !bQuitOrxonox)
-    {
-      // Network
-      synchronize();
-      // Process input
-      handle_input();
-      // Process time
-      time_slice();
-      // Process collision
-      collision();
-      // Draw
-      display();
-    }
-  printf("Orxonox|Exiting the main loop\n");
-}
+
 
 /**
@@ -288,54 +260,5 @@
   // Handle special events such as reshape, quit, focus changes
 }
-
-/**
-   \brief synchronize local data with remote data
-*/
-void Orxonox::synchronize ()
-{
-  // Get remote input
-  // Update synchronizables
-}
-
-/**
-   \brief run all input processing
-*/
-void Orxonox::handle_input ()
-{
-  // localinput
-  //localinput->process();
-  // remoteinput
-}
-
-/**
-   \brief advance the timeline
-*/
-void Orxonox::time_slice ()
-{
-  Uint32 curframe = SDL_GetTicks();
-  if( !pause)
-    {
-      Uint32 dt = curframe - lastframe;
-      
-      if(dt > 0)
-	{
-	  float fps = 1000/dt;
-	  printf("fps = %f\n", fps);
-	}
-      
-      world->time_slice (dt);
-      world->update ();
-      localcamera->time_slice (dt);
-    }
-  lastframe = curframe;
-}
-
-/**
-   \brief compute collision detection
-*/
-void Orxonox::collision ()
-{
-  world->collide ();
-}
+ 
 
 /**
@@ -354,19 +277,4 @@
 }
 
-/**
-   \brief render the current frame
-*/
-void Orxonox::display ()
-{
-  // clear buffer
-  glClear( GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
-  // set camera
-  localcamera->apply ();
-  // draw world
-  world->draw ();
-  // draw HUD
-  // flip buffers
-  SDL_GL_SwapBuffers();
-}
 
 /**
@@ -379,4 +287,5 @@
 }
 
+
 /**
    \brief retrieve a pointer to the local CommandNode
@@ -388,4 +297,5 @@
 }
 
+
 /**
    \brief retrieve a pointer to the local World
@@ -396,4 +306,7 @@
   return world;
 }
+
+
+
 
 int main (int argc, char** argv) 
Index: orxonox/trunk/src/orxonox.h
===================================================================
--- orxonox/trunk/src/orxonox.h	(revision 3213)
+++ orxonox/trunk/src/orxonox.h	(revision 3214)
@@ -41,9 +41,9 @@
   
   // main loop functions
-  void synchronize ();
-  void handle_input ();
-  void time_slice ();
-  void collision ();
-  void display ();
+  //  void synchronize ();
+  //void handle_input ();
+  //void time_slice ();
+  //void collision ();
+  //void display ();
   
   	// subsystem initialization
@@ -69,5 +69,5 @@
   World* get_world();
   
-  void mainLoop();
+  //void mainLoop();
 };
 
