Index: /orxonox/trunk/src/lib/graphics/graphics_engine.cc
===================================================================
--- /orxonox/trunk/src/lib/graphics/graphics_engine.cc	(revision 4738)
+++ /orxonox/trunk/src/lib/graphics/graphics_engine.cc	(revision 4739)
@@ -91,8 +91,6 @@
     VideoFlags |= SDL_HWACCEL;
   */
-
-  // setting up the Resolution
-  this->setResolution(1400, 1050, 16);
-
+    // setting up the Resolution
+  this->setResolution(800, 450, 16);
 
   // TO DO: Create a cool icon and use it here
@@ -152,4 +150,5 @@
   this->resolutionY = height;
   this->bitsPerPixel = bpp;
+
   if (this->fullscreen)
     fullscreenFlag = SDL_FULLSCREEN;
Index: /orxonox/trunk/src/lib/graphics/light.cc
===================================================================
--- /orxonox/trunk/src/lib/graphics/light.cc	(revision 4738)
+++ /orxonox/trunk/src/lib/graphics/light.cc	(revision 4739)
@@ -238,4 +238,5 @@
 {
   glDisable(GL_LIGHTING);
+  this->setAmbientColor(.0,.0,.0);
 
   for (int i = 0; i < NUMBEROFLIGHTS; i++)
Index: /orxonox/trunk/src/subprojects/importer/Makefile.am
===================================================================
--- /orxonox/trunk/src/subprojects/importer/Makefile.am	(revision 4738)
+++ /orxonox/trunk/src/subprojects/importer/Makefile.am	(revision 4739)
@@ -27,3 +27,4 @@
                   $(MAINSRCDIR)/lib/coord/null_parent.cc \
                   $(MAINSRCDIR)/util/loading/load_param.cc \
-                  $(MAINSRCDIR)/lib/util/substring.cc
+                  $(MAINSRCDIR)/lib/util/substring.cc \
+                  $(MAINSRCDIR)/util/loading/factory.cc
Index: /orxonox/trunk/src/subprojects/importer/Makefile.in
===================================================================
--- /orxonox/trunk/src/subprojects/importer/Makefile.in	(revision 4738)
+++ /orxonox/trunk/src/subprojects/importer/Makefile.in	(revision 4739)
@@ -59,5 +59,6 @@
 	importer-ini_parser.$(OBJEXT) importer-text_engine.$(OBJEXT) \
 	importer-p_node.$(OBJEXT) importer-null_parent.$(OBJEXT) \
-	importer-load_param.$(OBJEXT) importer-substring.$(OBJEXT)
+	importer-load_param.$(OBJEXT) importer-substring.$(OBJEXT) \
+	importer-factory.$(OBJEXT)
 importer_OBJECTS = $(am_importer_OBJECTS)
 importer_DEPENDENCIES = $(MAINSRCDIR)/lib/event/libORXevent.a \
@@ -70,4 +71,5 @@
 @AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/importer-base_object.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/importer-camera.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/importer-factory.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/importer-framework.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/importer-graphics_engine.Po \
@@ -223,5 +225,6 @@
                   $(MAINSRCDIR)/lib/coord/null_parent.cc \
                   $(MAINSRCDIR)/util/loading/load_param.cc \
-                  $(MAINSRCDIR)/lib/util/substring.cc
+                  $(MAINSRCDIR)/lib/util/substring.cc \
+                  $(MAINSRCDIR)/util/loading/factory.cc
 
 all: all-am
@@ -293,4 +296,5 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/importer-base_object.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/importer-camera.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/importer-factory.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/importer-framework.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/importer-graphics_engine.Po@am__quote@
@@ -562,4 +566,20 @@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(importer_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o importer-substring.obj `if test -f '$(MAINSRCDIR)/lib/util/substring.cc'; then $(CYGPATH_W) '$(MAINSRCDIR)/lib/util/substring.cc'; else $(CYGPATH_W) '$(srcdir)/$(MAINSRCDIR)/lib/util/substring.cc'; fi`
+
+importer-factory.o: $(MAINSRCDIR)/util/loading/factory.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(importer_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT importer-factory.o -MD -MP -MF "$(DEPDIR)/importer-factory.Tpo" -c -o importer-factory.o `test -f '$(MAINSRCDIR)/util/loading/factory.cc' || echo '$(srcdir)/'`$(MAINSRCDIR)/util/loading/factory.cc; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/importer-factory.Tpo" "$(DEPDIR)/importer-factory.Po"; else rm -f "$(DEPDIR)/importer-factory.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(MAINSRCDIR)/util/loading/factory.cc' object='importer-factory.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/importer-factory.Po' tmpdepfile='$(DEPDIR)/importer-factory.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(importer_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o importer-factory.o `test -f '$(MAINSRCDIR)/util/loading/factory.cc' || echo '$(srcdir)/'`$(MAINSRCDIR)/util/loading/factory.cc
+
+importer-factory.obj: $(MAINSRCDIR)/util/loading/factory.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(importer_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT importer-factory.obj -MD -MP -MF "$(DEPDIR)/importer-factory.Tpo" -c -o importer-factory.obj `if test -f '$(MAINSRCDIR)/util/loading/factory.cc'; then $(CYGPATH_W) '$(MAINSRCDIR)/util/loading/factory.cc'; else $(CYGPATH_W) '$(srcdir)/$(MAINSRCDIR)/util/loading/factory.cc'; fi`; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/importer-factory.Tpo" "$(DEPDIR)/importer-factory.Po"; else rm -f "$(DEPDIR)/importer-factory.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(MAINSRCDIR)/util/loading/factory.cc' object='importer-factory.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/importer-factory.Po' tmpdepfile='$(DEPDIR)/importer-factory.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(importer_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o importer-factory.obj `if test -f '$(MAINSRCDIR)/util/loading/factory.cc'; then $(CYGPATH_W) '$(MAINSRCDIR)/util/loading/factory.cc'; else $(CYGPATH_W) '$(srcdir)/$(MAINSRCDIR)/util/loading/factory.cc'; fi`
 uninstall-info-am:
 
Index: /orxonox/trunk/src/subprojects/importer/importer.cc
===================================================================
--- /orxonox/trunk/src/subprojects/importer/importer.cc	(revision 4738)
+++ /orxonox/trunk/src/subprojects/importer/importer.cc	(revision 4739)
@@ -50,14 +50,9 @@
   LightManager* lightMan = LightManager::getInstance();
   lightMan->setAmbientColor(.1,.1,.1);
-  lightMan->addLight();
-  //  lightMan->setAttenuation(1.0, .01, 0.0);
-  //  lightMan->setDiffuseColor(1,1,1);
-  //  lightMan->addLight(1);
-  //  lightMan->setPosition(20, 10, -20);
-  //  lightMan->setDiffuseColor(0,0,0);
-  //  lightMan->debug();
-  lightMan->setPosition(5.0, 10.0, 40.0);
-  lightMan->addLight();
-  lightMan->setPosition(-10, -20, -100);
+  new Light();
+
+  lightMan->getLight()->setAbsCoor(5.0, 10.0, 40.0);
+  new Light();
+  lightMan->getLight()->setAbsCoor(-10, -20, -100);
 }
 
Index: /orxonox/trunk/src/util/loading/factory.cc
===================================================================
--- /orxonox/trunk/src/util/loading/factory.cc	(revision 4738)
+++ /orxonox/trunk/src/util/loading/factory.cc	(revision 4739)
@@ -35,11 +35,10 @@
   this->setName(factoryName);
 
-  if (Factory::first == NULL)
-    Factory::first = this;
-  next = NULL;
+  this->next = NULL;
 
-  initialize();
+  Factory::registerFactory(this);
 }
 
+/** a reference to the First Factory */
 Factory* Factory::first = NULL;
 
@@ -59,18 +58,23 @@
 
 /**
-   \brief make this particular factory known to the LevelFactory
-*/
-void Factory::initialize()
-{
-  GameLoader::getInstance()->registerFactory( this);
-}
-
-/**
-   \brief add a Factory to the Q
+   \brief add a Factory to the Factory Queue
+   \param factory a Factory to be registered
 */
 void Factory::registerFactory( Factory* factory)
 {
-  if( next == NULL) setNext( factory);
-  else next->registerFactory( factory);
+  assert( factory != NULL);
+
+  PRINTF(4)("Registered factory for '%s'\n", factory->getName());
+
+  if( Factory::first == NULL)
+    Factory::first = factory;
+  else
+  {
+    Factory* tmpFac = Factory::first;
+    while( tmpFac->next != NULL)
+    {
+      tmpFac = tmpFac->next;
+    }
+    tmpFac->setNext(factory);
+  }
 }
-
Index: /orxonox/trunk/src/util/loading/factory.h
===================================================================
--- /orxonox/trunk/src/util/loading/factory.h	(revision 4738)
+++ /orxonox/trunk/src/util/loading/factory.h	(revision 4739)
@@ -46,17 +46,19 @@
 
   virtual BaseObject* fabricate(const TiXmlElement* root) = NULL;
-  void initialize();
-  void registerFactory( Factory* factory);
+
+  static void registerFactory( Factory* factory);
   /** \brief sets the Next factory in the list \param nextFactory the next factory */
   inline void setNext( Factory* nextFactory) { this->next = nextFactory; };
   /** \returns the first factory */
-  static Factory* getFirst(void) { return Factory::first; };
+  static Factory* getFirst() { return Factory::first; };
   /** \returns the next factory */
   Factory* getNext(void) const { return this->next; };
 
 
- private:
-  Factory*          next;                 //!< pointer to the next factory.
-  static Factory*   first;                //!< A pointer to the first factory.
+  private:
+
+  private:
+    Factory*          next;                 //!< pointer to the next factory.
+    static Factory*   first;                //!< A pointer to the first factory.
 };
 
Index: /orxonox/trunk/src/util/loading/game_loader.cc
===================================================================
--- /orxonox/trunk/src/util/loading/game_loader.cc	(revision 4738)
+++ /orxonox/trunk/src/util/loading/game_loader.cc	(revision 4739)
@@ -43,5 +43,4 @@
   this->setClassID(CL_GAME_LOADER, "GameLoader");
   this->setName("GameLoader");
-  first = NULL;
 }
 
@@ -317,20 +316,4 @@
 }
 
-
-/**
-   \brief add a Factory to the Factory Q
-   \param factory a Factory to be registered
-*/
-void GameLoader::registerFactory( Factory* factory)
-{
-        assert( factory != NULL);
-
-        PRINTF(4)("Registered factory for '%s'\n", factory->getName());
-
-        if( first == NULL) first = factory;
-        else first->registerFactory( factory);
-}
-
-
 /**
    \brief load a StoryEntity
@@ -341,5 +324,5 @@
   assert( element != NULL);
 
-  if( first == NULL)
+  if( Factory::getFirst() == NULL)
     {
       PRINTF(1)("GameLoader does not know any factories, fabricate() failed\n");
@@ -350,5 +333,5 @@
     {
       PRINTF(4)("Attempting fabrication of a '%s'\n", element->Value());
-      BaseObject* b = first->fabricate( element);
+      BaseObject* b = Factory::getFirst()->fabricate( element);
       if( b == NULL)
         PRINTF(2)("Failed to fabricate a '%s'\n", element->Value());
Index: /orxonox/trunk/src/util/loading/game_loader.h
===================================================================
--- /orxonox/trunk/src/util/loading/game_loader.h	(revision 4738)
+++ /orxonox/trunk/src/util/loading/game_loader.h	(revision 4739)
@@ -80,6 +80,4 @@
 
   EventHandler*          eventHandler;         //!< reference to the eventHandler
-
-  Factory*               first;                //!< the first factory of them all
 };
 
