Index: branches/network/src/lib/coord/p_node.cc
===================================================================
--- branches/network/src/lib/coord/p_node.cc	(revision 6336)
+++ branches/network/src/lib/coord/p_node.cc	(revision 6337)
@@ -1016,6 +1016,7 @@
   SYNCHELP_READ_BEGIN();
 
-  char * name;
-  SYNCHELP_READ_STRINGM( name );
+  SYNCHELP_READ_FKT( BaseObject::writeState );
+
+  PRINTF(0)("name = %s\n", this->getName());
 
   char * parentName = NULL;
@@ -1036,15 +1037,4 @@
   SYNCHELP_READ_INT( parentMode );
   this->setParentMode((PARENT_MODE)parentMode);
-
-  if ( strcmp(name, "")==0 )
-  {
-    this->setName( NULL );
-  }
-  else
-  {
-    this->setName( name );
-  }
-  delete name;
-  name = NULL;
 
   float f1, f2, f3, f4;
@@ -1056,12 +1046,8 @@
   //this->setRelCoor( 10, 0, 0 );
 
-  PRINTF(0)("%f %f %f\n", f1, f2, f3);
-
   SYNCHELP_READ_FLOAT( f1 );
   SYNCHELP_READ_FLOAT( f2 );
   SYNCHELP_READ_FLOAT( f3 );
   //this->setAbsCoor( f1, f2, f3 );
-
-  PRINTF(0)("%f %f %f\n", f1, f2, f3);
 
   SYNCHELP_READ_FLOAT( f1 );
@@ -1085,4 +1071,5 @@
   {
     SYNCHELP_READ_STRINGM( childName );
+    PRINTF(0)("childname = %s\n", childName);
     addChild( childName );
     delete childName;
@@ -1103,5 +1090,7 @@
   SYNCHELP_WRITE_BEGIN();
 
-  SYNCHELP_WRITE_STRING( this->getName() );
+  SYNCHELP_WRITE_FKT( BaseObject::readState );
+
+  PRINTF(0)("name = %s\n", this->getName());
 
   if ( this->parent )
@@ -1143,4 +1132,5 @@
   for (std::list<PNode*>::const_iterator it = children.begin(); it!=children.end(); it++)
   {
+    PRINTF(0)("childname = %s\n", (*it)->getName() );
     SYNCHELP_WRITE_STRING( (*it)->getName() );
   }
Index: branches/network/src/lib/lang/base_object.cc
===================================================================
--- branches/network/src/lib/lang/base_object.cc	(revision 6336)
+++ branches/network/src/lib/lang/base_object.cc	(revision 6337)
@@ -22,4 +22,6 @@
 #include "compiler.h"
 #include "class_list.h"
+
+#include "synchronizeable.h"
 
 using namespace std;
@@ -194,4 +196,39 @@
       PRINT(0)(" -Weapon-");
     PRINT(0)("\n");
-}
-}
+  }
+}
+
+/**
+ * Writes data from network containing information about the state
+ * @param data pointer to data
+ * @param length length of data
+ * @param sender hostID of sender
+ */
+int BaseObject::writeState( const byte * data, int length, int sender )
+{
+  SYNCHELP_READ_BEGIN();
+
+  if ( objectName )
+  {
+    delete[] objectName;
+    objectName = NULL;
+  }
+  SYNCHELP_READ_STRINGM( this->objectName );
+
+  return SYNCHELP_READ_N;
+}
+
+/**
+ * data copied in data will bee sent to another host
+ * @param data pointer to data
+ * @param maxLength max length of data
+ * @return the number of bytes writen
+ */
+int BaseObject::readState( byte * data, int maxLength )
+{
+  SYNCHELP_WRITE_BEGIN();
+
+  SYNCHELP_WRITE_STRING( this->objectName );
+
+  return SYNCHELP_WRITE_N;
+}
Index: branches/network/src/lib/lang/base_object.h
===================================================================
--- branches/network/src/lib/lang/base_object.h	(revision 6336)
+++ branches/network/src/lib/lang/base_object.h	(revision 6337)
@@ -15,4 +15,6 @@
 #define NULL     0    //!< NULL
 #endif
+
+#include "stdincl.h"
 
 class TiXmlElement;
@@ -44,4 +46,6 @@
   bool operator==(ClassID classID) { return this->isA(classID); };
 
+  int       writeState(const byte* data, int length, int sender);
+  int       readState(byte* data, int maxLength );
  protected:
   void setClassID(ClassID classID, const char* className);
Index: branches/network/src/world_entities/world_entity.cc
===================================================================
--- branches/network/src/world_entities/world_entity.cc	(revision 6336)
+++ branches/network/src/world_entities/world_entity.cc	(revision 6337)
@@ -121,4 +121,5 @@
 
     PRINTF(4)("fetching %s\n", fileName);
+    this->scaling = scaling;
     if (scaling == 1.0)
       this->setModel((Model*)ResourceManager::getInstance()->load(fileName, OBJ, RP_CAMPAIGN), modelNumber);
@@ -343,12 +344,13 @@
 
   SYNCHELP_READ_STRINGM( modelFileName );
+  SYNCHELP_READ_FLOAT( scaling );
   //check if modelFileName is relative to datadir or absolute
   if ( strstr(modelFileName, ResourceManager::getInstance()->getDataDir()) )
   {
-    loadModel( modelFileName+strlen(ResourceManager::getInstance()->getDataDir()) );
+    loadModel( modelFileName+strlen(ResourceManager::getInstance()->getDataDir()), scaling );
   }
   else
   {
-    loadModel( modelFileName );
+    loadModel( modelFileName, scaling );
   }
   delete[] modelFileName;
@@ -370,5 +372,5 @@
 
   SYNCHELP_WRITE_STRING( getModel( 0 )->getName() );
-  PRINTF(0)("%s\n", getModel( 0 )->getName());
+  SYNCHELP_WRITE_FLOAT( scaling );
   return SYNCHELP_WRITE_N;
 }
Index: branches/network/src/world_entities/world_entity.h
===================================================================
--- branches/network/src/world_entities/world_entity.h	(revision 6336)
+++ branches/network/src/world_entities/world_entity.h	(revision 6337)
@@ -89,4 +89,6 @@
   std::list<WorldEntity*>::iterator objectListIterator; //!< The iterator position of this Entity in the given list of the ObjectManager.
 
+  float                   scaling;
+
 
 };
