Index: orxonox/trunk/src/Makefile.am
===================================================================
--- orxonox/trunk/src/Makefile.am	(revision 4487)
+++ orxonox/trunk/src/Makefile.am	(revision 4488)
@@ -33,5 +33,4 @@
 		 util/object_manager.cc \
 		 util/garbage_collector.cc \
-		 util/common/list.cc \
 		 util/resource_manager.cc \
 		 util/loading/factory.cc \
@@ -137,5 +136,4 @@
 		 lib/lang/base_object.h \
 		 util/common/list.h \
-		 util/common/list_template.h \
 		 util/resource_manager.h \
 		 util/loading/factory.h \
Index: orxonox/trunk/src/Makefile.in
===================================================================
--- orxonox/trunk/src/Makefile.in	(revision 4487)
+++ orxonox/trunk/src/Makefile.in	(revision 4488)
@@ -57,14 +57,13 @@
 	pilot_node.$(OBJEXT) animation.$(OBJEXT) animation3d.$(OBJEXT) \
 	animation_player.$(OBJEXT) object_manager.$(OBJEXT) \
-	garbage_collector.$(OBJEXT) list.$(OBJEXT) \
-	resource_manager.$(OBJEXT) factory.$(OBJEXT) \
-	load_param.$(OBJEXT) state.$(OBJEXT) story_entity.$(OBJEXT) \
-	campaign.$(OBJEXT) world.$(OBJEXT) world_entity.$(OBJEXT) \
-	camera.$(OBJEXT) player.$(OBJEXT) environment.$(OBJEXT) \
-	skysphere.$(OBJEXT) skybox.$(OBJEXT) terrain.$(OBJEXT) \
-	weapon.$(OBJEXT) projectile.$(OBJEXT) satellite.$(OBJEXT) \
-	character_attributes.$(OBJEXT) test_gun.$(OBJEXT) \
-	test_bullet.$(OBJEXT) test_entity.$(OBJEXT) p_node.$(OBJEXT) \
-	null_parent.$(OBJEXT) helper_parent.$(OBJEXT) \
+	garbage_collector.$(OBJEXT) resource_manager.$(OBJEXT) \
+	factory.$(OBJEXT) load_param.$(OBJEXT) state.$(OBJEXT) \
+	story_entity.$(OBJEXT) campaign.$(OBJEXT) world.$(OBJEXT) \
+	world_entity.$(OBJEXT) camera.$(OBJEXT) player.$(OBJEXT) \
+	environment.$(OBJEXT) skysphere.$(OBJEXT) skybox.$(OBJEXT) \
+	terrain.$(OBJEXT) weapon.$(OBJEXT) projectile.$(OBJEXT) \
+	satellite.$(OBJEXT) character_attributes.$(OBJEXT) \
+	test_gun.$(OBJEXT) test_bullet.$(OBJEXT) test_entity.$(OBJEXT) \
+	p_node.$(OBJEXT) null_parent.$(OBJEXT) helper_parent.$(OBJEXT) \
 	graphics_engine.$(OBJEXT) light.$(OBJEXT) \
 	text_engine.$(OBJEXT) array.$(OBJEXT) objModel.$(OBJEXT) \
@@ -93,8 +92,7 @@
 @AMDEP_TRUE@	./$(DEPDIR)/helper_parent.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/ini_parser.Po ./$(DEPDIR)/light.Po \
-@AMDEP_TRUE@	./$(DEPDIR)/list.Po ./$(DEPDIR)/load_param.Po \
-@AMDEP_TRUE@	./$(DEPDIR)/material.Po ./$(DEPDIR)/md2Model.Po \
-@AMDEP_TRUE@	./$(DEPDIR)/model.Po ./$(DEPDIR)/null_parent.Po \
-@AMDEP_TRUE@	./$(DEPDIR)/objModel.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/load_param.Po ./$(DEPDIR)/material.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/md2Model.Po ./$(DEPDIR)/model.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/null_parent.Po ./$(DEPDIR)/objModel.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/object_manager.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/orxonox.Po ./$(DEPDIR)/p_node.Po \
@@ -264,5 +262,4 @@
 		 util/object_manager.cc \
 		 util/garbage_collector.cc \
-		 util/common/list.cc \
 		 util/resource_manager.cc \
 		 util/loading/factory.cc \
@@ -368,5 +365,4 @@
 		 lib/lang/base_object.h \
 		 util/common/list.h \
-		 util/common/list_template.h \
 		 util/resource_manager.h \
 		 util/loading/factory.h \
@@ -478,5 +474,4 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ini_parser.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/light.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/load_param.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/material.Po@am__quote@
@@ -671,20 +666,4 @@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o garbage_collector.obj `if test -f 'util/garbage_collector.cc'; then $(CYGPATH_W) 'util/garbage_collector.cc'; else $(CYGPATH_W) '$(srcdir)/util/garbage_collector.cc'; fi`
-
-list.o: util/common/list.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT list.o -MD -MP -MF "$(DEPDIR)/list.Tpo" -c -o list.o `test -f 'util/common/list.cc' || echo '$(srcdir)/'`util/common/list.cc; \
-@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/list.Tpo" "$(DEPDIR)/list.Po"; else rm -f "$(DEPDIR)/list.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/common/list.cc' object='list.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/list.Po' tmpdepfile='$(DEPDIR)/list.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o list.o `test -f 'util/common/list.cc' || echo '$(srcdir)/'`util/common/list.cc
-
-list.obj: util/common/list.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT list.obj -MD -MP -MF "$(DEPDIR)/list.Tpo" -c -o list.obj `if test -f 'util/common/list.cc'; then $(CYGPATH_W) 'util/common/list.cc'; else $(CYGPATH_W) '$(srcdir)/util/common/list.cc'; fi`; \
-@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/list.Tpo" "$(DEPDIR)/list.Po"; else rm -f "$(DEPDIR)/list.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/common/list.cc' object='list.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/list.Po' tmpdepfile='$(DEPDIR)/list.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o list.obj `if test -f 'util/common/list.cc'; then $(CYGPATH_W) 'util/common/list.cc'; else $(CYGPATH_W) '$(srcdir)/util/common/list.cc'; fi`
 
 resource_manager.o: util/resource_manager.cc
Index: orxonox/trunk/src/lib/graphics/importer/md2Model.cc
===================================================================
--- orxonox/trunk/src/lib/graphics/importer/md2Model.cc	(revision 4487)
+++ orxonox/trunk/src/lib/graphics/importer/md2Model.cc	(revision 4488)
@@ -266,4 +266,5 @@
   PRINT(0)("=  Number of Frames: \t%i\n", this->data->header->numFrames);
   PRINT(0)("=  Height, Width:\t%i, %i\n", this->data->header->skinHeight, this->data->header->skinWidth);
+  PRINT(0)("=  Pointer to the data object: %p\n", this->data);
   PRINT(0)("===================================================\n\n");
 }
Index: orxonox/trunk/src/lib/graphics/importer/md2Model.h
===================================================================
--- orxonox/trunk/src/lib/graphics/importer/md2Model.h	(revision 4487)
+++ orxonox/trunk/src/lib/graphics/importer/md2Model.h	(revision 4488)
@@ -67,5 +67,5 @@
 
 //! animation names enumeration
-typedef enum 
+typedef enum animType
   {
     STAND,
@@ -92,5 +92,5 @@
   
     MAX_ANIMATIONS
-  } animType;
+  };
 
 
Index: orxonox/trunk/src/story_entities/world.cc
===================================================================
--- orxonox/trunk/src/story_entities/world.cc	(revision 4487)
+++ orxonox/trunk/src/story_entities/world.cc	(revision 4488)
@@ -50,4 +50,6 @@
 #include "fields.h"
 
+#include "md2Model.h"
+
 #include "glmenu_imagescreen.h"
 #include "list.h"
@@ -501,8 +503,13 @@
   TestEntity* testEntity = new TestEntity();
   testEntity->setRelCoor(Vector(570, 10, -15));
-  //testEntity->setRelCoor(Vector(25, -10, -20));
   testEntity->setRelDir(Quaternion(M_PI, Vector(0, 1, 0)));
   this->spawn(testEntity);
-  //  this->localPlayer->addChild(testEntity);
+
+  TestEntity* testEntity2 = new TestEntity();
+  testEntity2->setAnim(RUN);
+  testEntity2->setRelCoor(Vector(570, 30, 15));
+  testEntity2->setRelDir(Quaternion(M_PI, Vector(0, 1, 0)));
+  this->spawn(testEntity2);
+
 
   new PhysicsConnection(testEntity, gravity);
Index: orxonox/trunk/src/util/common/list.h
===================================================================
--- orxonox/trunk/src/util/common/list.h	(revision 4487)
+++ orxonox/trunk/src/util/common/list.h	(revision 4488)
@@ -12,54 +12,19 @@
 #endif
 
-//! An enum to list all the modes available when adding an object to a List
-//enum ADDMODE {LIST_ADD_FIRST, LIST_ADD_LAST};
-//! An enum to list the two searching directions available when removing an object from a List
-//enum FINDMODE {LIST_FIND_BW, LIST_FIND_FW};
-
-
-
-class WorldEntity;
-
-class List {
-
- public:
-  List ();
-  ~List ();
-
-  void add(WorldEntity* entity);
-  void remove(WorldEntity* entity);
-  void destroy();
-  WorldEntity* firstElement();
-  bool isEmpty();
-  int getSize();
-  WorldEntity* enumerate();
-  WorldEntity* nextElement();
-  WorldEntity* toArray();
-  void debug();
-
- private:
-  struct listElement
-  {
-    listElement* prev;
-    WorldEntity* curr;
-    listElement* next;
-  };
-  unsigned int size;
-  listElement* first;
-  listElement* last;
-  listElement* currentEl;
-
-
+
+
+//! a list element of the tList, 
+template<class T> struct listElement
+{
+  listElement*        prev;                          //!< pointer to the previous listElement in the list
+  T*                  curr;                          //!< pointer to the list payload/container
+  listElement*        next;                          //!< pointer to the next listElement
 };
 
-
-
-template<class T> struct listElement
-{
-  listElement* prev;
-  T* curr;
-  listElement* next;
-};
-
+/**
+   \brief an iterator class
+
+   this enables the user to iterate through a list very easely
+*/
 template<class T> class tIterator
 {
@@ -71,9 +36,24 @@
 
  private:
-  listElement<T>* currentEl;
-  listElement<T>* tmpEl;
+  listElement<T>*    currentEl;                      //!< pointer to the current list element in the iterator
+  listElement<T>*    tmpEl;                          //!< temp listElemnt pointer
 };
 
 
+/**
+   \brief iterator constructor
+   \param startElement:  the first list element from the tList
+
+   normaly you will use it like this: 
+
+   tIterator<char>* nameIterator = nameList->getIterator();
+   char name* = nameIterator->nextElement(); 
+   while( name != NULL)
+   {
+     PRINTF(3)("found name: %s in list\n", name);
+     name = nameIterator->nextElement(); 
+   }
+   delete nameIterator;       
+*/
 template<class T>
 inline tIterator<T>::tIterator (listElement<T>* startElement) 
@@ -84,4 +64,7 @@
 
 
+/**
+   \brief the destructor
+*/
 template<class T>
 inline tIterator<T>::~tIterator ()
@@ -91,4 +74,8 @@
 
 
+/**
+   \brief use it to iterate through the list
+   \returns next list element
+*/
 template<class T>
 inline T* tIterator<T>::nextElement ()
Index: orxonox/trunk/src/world_entities/test_entity.cc
===================================================================
--- orxonox/trunk/src/world_entities/test_entity.cc	(revision 4487)
+++ orxonox/trunk/src/world_entities/test_entity.cc	(revision 4488)
@@ -41,4 +41,10 @@
 
 
+void  TestEntity::setAnim(int animationIndex)
+{
+  this->md2Model->setAnim(animationIndex);
+}
+
+
 void TestEntity::tick (float time) 
 {
Index: orxonox/trunk/src/world_entities/test_entity.h
===================================================================
--- orxonox/trunk/src/world_entities/test_entity.h	(revision 4487)
+++ orxonox/trunk/src/world_entities/test_entity.h	(revision 4488)
@@ -19,5 +19,6 @@
   virtual ~TestEntity ();
 
-  
+  void setAnim(int animationIndex);
+
   virtual void tick (float time);
   virtual void hit (WorldEntity* weapon, Vector* loc);
