Index: orxonox/trunk/src/camera.cc
===================================================================
--- orxonox/trunk/src/camera.cc	(revision 3550)
+++ orxonox/trunk/src/camera.cc	(revision 3551)
@@ -63,5 +63,5 @@
    as smooth camera movement or swaying).
 */
-void Camera::timeSlice (Uint32 deltaT)
+void Camera::tick (Uint32 deltaT)
 {
   if( this->t <= deltaTime)
Index: orxonox/trunk/src/camera.h
===================================================================
--- orxonox/trunk/src/camera.h	(revision 3550)
+++ orxonox/trunk/src/camera.h	(revision 3551)
@@ -56,5 +56,5 @@
   virtual ~Camera ();
   
-  void timeSlice (Uint32 deltaT);
+  void tick (Uint32 deltaT);
   void apply ();
   void bind (WorldEntity* entity);
Index: orxonox/trunk/src/lib/coord/null_parent.cc
===================================================================
--- orxonox/trunk/src/lib/coord/null_parent.cc	(revision 3550)
+++ orxonox/trunk/src/lib/coord/null_parent.cc	(revision 3551)
@@ -72,5 +72,5 @@
    worry, normaly...
 */
-void NullParent::update (float timeStamp)
+void NullParent::update ()
 {
 
@@ -87,5 +87,5 @@
       if( this->bRelDirChanged || this->bAbsDirChanged)
 	pn->parentDirChanged ();
-      pn->update (timeStamp);
+      pn->update ();
       pn = this->children->nextElement ();
     }
Index: orxonox/trunk/src/lib/coord/null_parent.h
===================================================================
--- orxonox/trunk/src/lib/coord/null_parent.h	(revision 3550)
+++ orxonox/trunk/src/lib/coord/null_parent.h	(revision 3551)
@@ -20,5 +20,5 @@
   static NullParent* singletonRef;
 
-  virtual void update (float timeStamp);
+  virtual void update ();
 
  private:
Index: orxonox/trunk/src/lib/coord/p_node.cc
===================================================================
--- orxonox/trunk/src/lib/coord/p_node.cc	(revision 3550)
+++ orxonox/trunk/src/lib/coord/p_node.cc	(revision 3551)
@@ -13,9 +13,7 @@
    ### File Specific:
    main-programmer: Patrick Boenzli
-   co-programmer: ...
-
-   \todo Null-Parent => center of the coord system - singleton
+   co-programmer: 
+
    \todo Smooth-Parent: delay, speed
-   \todo destroy the stuff again, delete...
 */
 
@@ -109,7 +107,8 @@
   delete &this->absDirection;
   */
-  this->parent = NULL;
+  //this->parent = NULL;
   /* there is currently a problem with cleaning up - fix*/
 
+  
   PNode* pn = this->children->enumerate();
   while( pn != NULL) 
@@ -117,5 +116,6 @@
       pn = this->children->nextElement();
       delete pn;
-    } 
+    }
+   
   /* this deletes all children in the list */
   delete this->children;
@@ -429,5 +429,5 @@
    worry, normaly...
 */
-void PNode::update (float timeStamp)
+void PNode::update ()
 {
   PRINTF(2)("PNode::update - %s - (%f, %f, %f)\n", this->objectName, this->absCoordinate.x, this->absCoordinate.y, this->absCoordinate.z);
@@ -493,5 +493,5 @@
       if( this->bRelDirChanged || this->bAbsDirChanged)
 	pn->parentDirChanged ();
-      pn->update(timeStamp);
+      pn->update();
       pn = this->children->nextElement();
     }
@@ -511,5 +511,5 @@
 void PNode::processTick (float dt)
 {
-  this->tick (dt);
+  //this->tick (dt);
   PNode* pn = this->children->enumerate();
   while( pn != NULL) 
@@ -520,9 +520,4 @@
 }
 
-/**
-   \param dt time to tick
-*/
-void PNode::tick (float dt)
-{}
 
 /**
Index: orxonox/trunk/src/lib/coord/p_node.h
===================================================================
--- orxonox/trunk/src/lib/coord/p_node.h	(revision 3550)
+++ orxonox/trunk/src/lib/coord/p_node.h	(revision 3551)
@@ -74,7 +74,6 @@
   parentingMode getMode();
 
-  virtual void update (float timeStamp);
+  virtual void update ();
   void processTick (float dt);
-  virtual void tick (float dt);
 
   void setName (char* newName);
Index: orxonox/trunk/src/story_entities/world.cc
===================================================================
--- orxonox/trunk/src/story_entities/world.cc	(revision 3550)
+++ orxonox/trunk/src/story_entities/world.cc	(revision 3551)
@@ -285,6 +285,4 @@
 
 	    break;
-
-
 	  }
 	default:
@@ -632,5 +630,5 @@
   p4->debug ();
   
-  p1->update (1);
+  p1->update ();
 
   printf ("World::debug() - update\n");
@@ -641,5 +639,5 @@
 
   p2->shiftCoor (new Vector(-1, -1, -1));
-  p1->update (2);
+  p1->update ();
 
   p1->debug ();
@@ -651,5 +649,5 @@
 
 
- p1->update (2);
+ p1->update ();
 
   p1->debug ();
@@ -696,5 +694,7 @@
 	  break;
       // Process time
-      this->timeSlice ();
+      this->tick ();
+      // Update the state
+      this->update ();      
       // Process collision
       this->collide ();
@@ -743,5 +743,5 @@
    a heart-beat.
 */
-void World::timeSlice ()
+void World::tick ()
 {
   Uint32 currentFrame = SDL_GetTicks();
@@ -778,9 +778,20 @@
       
       /* update tick the rest */
-      this->localCamera->timeSlice(dt);
+      this->localCamera->tick(dt);
       this->trackManager->tick(dt);
-      this->nullParent->update (seconds);
     }
   this->lastFrame = currentFrame;
+}
+
+
+/**
+   \brief this function gives the world a consistant state
+
+   after ticking (updating the world state) this will give a constistant
+   state to the whole system.
+*/
+void World::update()
+{
+  this->nullParent->update ();
 }
 
@@ -814,5 +825,4 @@
 void World::spawn(WorldEntity* entity)
 {
-  this->nullParent->addChild (entity);
   this->entities->add (entity);
   entity->postSpawn ();
@@ -828,5 +838,4 @@
 void World::spawn(WorldEntity* entity, Vector* absCoor, Quaternion* absDir)
 {
-  this->nullParent->addChild (entity);
   this->entities->add (entity);
 
@@ -849,5 +858,5 @@
 		  parentingMode mode)
 {
-
+  this->nullParent = NullParent::getInstance();
   if( parentNode != NULL)
     {
Index: orxonox/trunk/src/story_entities/world.h
===================================================================
--- orxonox/trunk/src/story_entities/world.h	(revision 3550)
+++ orxonox/trunk/src/story_entities/world.h	(revision 3551)
@@ -84,5 +84,6 @@
   void synchronize ();
   void handleInput ();
-  void timeSlice ();
+  void tick ();
+  void update ();
   void collide ();
   void draw ();
