Index: code/branches/FICN/bin/levels/sample.oxw
===================================================================
--- code/branches/FICN/bin/levels/sample.oxw	(revision 589)
+++ code/branches/FICN/bin/levels/sample.oxw	(revision 590)
@@ -9,4 +9,5 @@
     <bar top="200" left="50" width="300" height="20" image="textures/load_screens/ambush-loadbar.png" />
   </loading>
+
 
   <!-- <audio>
@@ -39,23 +40,25 @@
 
     <SceneNode name="node1" pos="0,2000,0"  scale="40,40,40" />
-    <Entity name="asteroid1" src="ast1.mesh" node="node1" />
+    <BaseEntity name="asteroid1" src="ast1.mesh" node="node1" />
 
     <SceneNode name="node2" pos="2000,0,0" scale="20,20,20"/>
-    <Entity name="asteroid2" src="ast2.mesh" node="node2" />
+    <BaseEntity name="asteroid2" src="ast2.mesh" node="node2" />
+
 
     <SceneNode name="node3" pos="0,0,2000" scale="20,20,20"/>
-    <Entity name="aststeroid3" src="ast3.mesh" node="node3"/>
+    <BaseEntity name="aststeroid3" src="ast3.mesh" node="node3"/>
 
     <SceneNode name="node4" pos="0,-2000,0" scale="20,20,20"/>
-    <Entity name="asteroid4" src="ast4.mesh" node="node4" />
+    <BaseEntity name="asteroid4" src="ast4.mesh" node="node4" />
 
     <SceneNode name="node5" pos="-2000,0,0" scale="20,20,20"/>
-    <Entity name="asteroid5" src="ast5.mesh" node="node5" />
+    <BaseEntity name="asteroid5" src="ast5.mesh" node="node5" />
 
     <SceneNode name="node6" pos="0,0,-2000" scale="20,20,20"/>
-    <Entity name="asteroid6" src="ast6.mesh" node="node6" />
+    <BaseEntity name="asteroid6" src="ast6.mesh" node="node6" />
 
     <SceneNode name="node7" pos="1000,1500,0"  scale="50,50,50" />
     <Entity name="asteroid7" src="ast1.mesh" node="node7" />
+
 
 
Index: code/branches/FICN/src/network/GameStateManager.cc
===================================================================
--- code/branches/FICN/src/network/GameStateManager.cc	(revision 589)
+++ code/branches/FICN/src/network/GameStateManager.cc	(revision 590)
@@ -82,4 +82,5 @@
   //the size of the gamestate
   int totalsize=0;
+  int memsize=1000;
   //the size of one specific synchronisable
   int tempsize=0;
@@ -93,5 +94,5 @@
   // reserve a little memory and increase it later on
   COUT(2) << "mallocing" << std::endl;
-  retval->data = (unsigned char*)malloc(1);
+  retval->data = (unsigned char*)malloc(memsize);
   COUT(2) << "malloced" << std::endl;
 
@@ -106,5 +107,8 @@
     totalsize+=tempsize+3*sizeof(int);
     // allocate additional space
-    retval->data = (unsigned char *)realloc((void *)retval->data, totalsize);
+    if(totalsize+tempsize>memsize){
+      retval->data = (unsigned char *)realloc((void *)retval->data, totalsize+1000);
+      memsize+=1000;
+    }
 
     // run Synchronisable::getData with offset and additional place for 3 ints in between (for ids and length)
Index: code/branches/FICN/src/orxonox/objects/BaseEntity.cc
===================================================================
--- code/branches/FICN/src/orxonox/objects/BaseEntity.cc	(revision 589)
+++ code/branches/FICN/src/orxonox/objects/BaseEntity.cc	(revision 590)
@@ -30,10 +30,6 @@
         name_ = xmlElem->Attribute("name");
         mesh_ = xmlElem->Attribute("src");
-        std::string node = xmlElem->Attribute("node");
+        node_ = xmlElem->Attribute("node");
 
-        // get the node
-        this->setNode(Orxonox::getSingleton()->getSceneManager()->getSceneNode(node));
-
-        
         // register variables to be synchronised
         registerAllVariables();
@@ -41,5 +37,5 @@
         create();
 
-	    	std::cout << "Loader: Created entity "<< name_ <<" with source " << mesh_  << " at node " << node  << std::endl << std::endl;
+	    	std::cout << "Loader: Created entity "<< name_ <<" with source " << mesh_  << " at node " << node_  << std::endl << std::endl;
     	}
    }
@@ -49,4 +45,5 @@
      registerVar(&name_, name_.length()+1, network::STRING);
      registerVar(&mesh_, mesh_.length()+1, network::STRING);
+     registerVar(&node_, node_.length()+1, network::STRING);
    }
    
@@ -54,4 +51,6 @@
      if(!valid)
        return false;
+     // get the node
+     this->setNode(Orxonox::getSingleton()->getSceneManager()->getSceneNode(node_));
      Ogre::SceneManager* mgr = orxonox::Orxonox::getSingleton()->getSceneManager();
      
Index: code/branches/FICN/src/orxonox/objects/BaseEntity.h
===================================================================
--- code/branches/FICN/src/orxonox/objects/BaseEntity.h	(revision 589)
+++ code/branches/FICN/src/orxonox/objects/BaseEntity.h	(revision 590)
@@ -22,6 +22,7 @@
       std::string name_;
       std::string mesh_;
+      std::string node_;
     // other membervariables
-      Ogre::SceneNode *sceneNode_;
+      //Ogre::SceneNode *sceneNode_;
       bool valid;
   };
Index: code/branches/FICN/src/orxonox/objects/SceneNode.cc
===================================================================
--- code/branches/FICN/src/orxonox/objects/SceneNode.cc	(revision 589)
+++ code/branches/FICN/src/orxonox/objects/SceneNode.cc	(revision 590)
@@ -77,3 +77,12 @@
     	}
    }
+   
+   void SceneNode::registerAllVariables(){
+     
+   }
+   
+   bool SceneNode::create(){
+     return true;
+   }
+   
 }
Index: code/branches/FICN/src/orxonox/objects/SceneNode.h
===================================================================
--- code/branches/FICN/src/orxonox/objects/SceneNode.h	(revision 589)
+++ code/branches/FICN/src/orxonox/objects/SceneNode.h	(revision 590)
@@ -4,18 +4,24 @@
 #include "BaseObject.h"
 #include "../../tinyxml/tinyxml.h"
+#include "network/Synchronisable.h"
 
 namespace orxonox
 {
-    class SceneNode : public BaseObject
+    class SceneNode : public BaseObject, public network::Synchronisable
     {
         public:
-            SceneNode();
-            virtual ~SceneNode();
+          SceneNode();
+          virtual ~SceneNode();
 
             
-            void loadParams(TiXmlElement* xmlElem);
-
+          void loadParams(TiXmlElement* xmlElem);
+          bool create();
+        protected:
+          void registerAllVariables();
         private:
-            
+          float x_, y_, z_;
+          float sx_, sy_, sz_;
+          float yaw_, pitch_, roll_;
+          std::string node_;
 
     };
