Index: orxonox/branches/physics/src/lib/coord/helper_parent.cc
===================================================================
--- orxonox/branches/physics/src/lib/coord/helper_parent.cc	(revision 4330)
+++ orxonox/branches/physics/src/lib/coord/helper_parent.cc	(revision 4332)
@@ -30,5 +30,5 @@
 HelperParent::HelperParent () 
 {
-   this->setClassName ("HelperParent");
+   this->setClassID(CL_HELPER_PARENT, "HelperParent");
 }
 
Index: orxonox/branches/physics/src/lib/coord/p_node.h
===================================================================
--- orxonox/branches/physics/src/lib/coord/p_node.h	(revision 4330)
+++ orxonox/branches/physics/src/lib/coord/p_node.h	(revision 4332)
@@ -93,5 +93,4 @@
   const char* getName ();
 
-
   void debug ();
 
Index: orxonox/branches/physics/src/lib/coord/pilot_node.cc
===================================================================
--- orxonox/branches/physics/src/lib/coord/pilot_node.cc	(revision 4332)
+++ orxonox/branches/physics/src/lib/coord/pilot_node.cc	(revision 4332)
@@ -0,0 +1,55 @@
+
+
+/* 
+   orxonox - the future of 3D-vertical-scrollers
+
+   Copyright (C) 2004 orx
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   ### File Specific:
+   main-programmer: Patrick Boenzli
+   co-programmer: ...
+*/
+
+
+#include "pilot_node.h"
+#include "command_node.h"
+
+
+using namespace std;
+
+
+/**
+   \brief standard constructor
+
+   \todo this constructor is not jet implemented - do it
+*/
+PilotNode::PilotNode () 
+{
+   this->setClassID(CL_PILOT_PARENT, "PilotNode");
+}
+
+
+/**
+   \brief standard deconstructor
+
+   \todo this deconstructor is not jet implemented - do it
+*/
+PilotNode::~PilotNode () 
+{
+
+}
+
+
+void PilotNode::command(Command* cmd)
+{
+  printf("Mouse moved by %d,%d to (%d,%d)\n", 
+	 cmd->xrel, cmd->yrel,
+	 cmd->x, cmd->y);
+
+  //this->setAbsDir(Quaternion(M_PI * 0.4, Vector(1, 0, 0)));
+}
Index: orxonox/branches/physics/src/lib/coord/pilot_node.h
===================================================================
--- orxonox/branches/physics/src/lib/coord/pilot_node.h	(revision 4332)
+++ orxonox/branches/physics/src/lib/coord/pilot_node.h	(revision 4332)
@@ -0,0 +1,23 @@
+/*! 
+    \file helper_parent.h
+    \brief this is a parent class, that isn't visible in the real world itself
+*/
+
+
+#ifndef _PILOT_NODE_H
+#define _PILOT_NODE_H
+
+#include "comincl.h"
+#include "p_node.h"
+
+class PilotNode : public PNode {
+
+ public:
+  PilotNode ();
+  virtual ~PilotNode ();
+  
+  void command(Command* cmd);
+
+};
+
+#endif /* _PILOT_NODE_H */
Index: orxonox/branches/physics/src/lib/graphics/graphics_engine.cc
===================================================================
--- orxonox/branches/physics/src/lib/graphics/graphics_engine.cc	(revision 4330)
+++ orxonox/branches/physics/src/lib/graphics/graphics_engine.cc	(revision 4332)
@@ -34,5 +34,5 @@
   this->minFPS = 9999;
   this->maxFPS = 0;
-  this->setClassName ("GraphicsEngine");
+  this->setClassID(CL_GRAPHICS_ENGINE, "GraphicsEngine");
 
   this->fullscreen = false;
Index: orxonox/branches/physics/src/lib/graphics/light.cc
===================================================================
--- orxonox/branches/physics/src/lib/graphics/light.cc	(revision 4330)
+++ orxonox/branches/physics/src/lib/graphics/light.cc	(revision 4332)
@@ -34,5 +34,5 @@
 Light::Light(int lightNumber)
 {
-  this->setClassName("Light");
+  this->setClassID(CL_LIGHT, "Light");
   char tmpName[7];
   sprintf(tmpName, "Light%d", lightNumber);
@@ -205,5 +205,5 @@
 LightManager::LightManager () 
 {
-  this->setClassName ("LightManager");
+  this->setClassID(CL_LIGHT_MANAGER, "LightManager");
 
   glEnable (GL_LIGHTING);
Index: orxonox/branches/physics/src/lib/graphics/particles/particle_emitter.cc
===================================================================
--- orxonox/branches/physics/src/lib/graphics/particles/particle_emitter.cc	(revision 4330)
+++ orxonox/branches/physics/src/lib/graphics/particles/particle_emitter.cc	(revision 4332)
@@ -30,5 +30,5 @@
 		  float velocity)
 {
-   this->setClassName ("ParticleEmitter");
+   this->setClassID(CL_PARTICLE_EMITTER, "ParticleEmitter");
 
    this->type = EMITTER_DOT;
Index: orxonox/branches/physics/src/lib/graphics/particles/particle_engine.cc
===================================================================
--- orxonox/branches/physics/src/lib/graphics/particles/particle_engine.cc	(revision 4330)
+++ orxonox/branches/physics/src/lib/graphics/particles/particle_engine.cc	(revision 4332)
@@ -30,5 +30,5 @@
 ParticleEngine::ParticleEngine () 
 {
-   this->setClassName ("ParticleEngine");
+   this->setClassID(CL_PARTICLE_ENGINE, "ParticleEngine");
 
    this->systemList = new tList<ParticleSystem>;
Index: orxonox/branches/physics/src/lib/graphics/particles/particle_system.cc
===================================================================
--- orxonox/branches/physics/src/lib/graphics/particles/particle_system.cc	(revision 4330)
+++ orxonox/branches/physics/src/lib/graphics/particles/particle_system.cc	(revision 4332)
@@ -42,5 +42,5 @@
 ParticleSystem::ParticleSystem (unsigned int maxCount, PARTICLE_TYPE type)
 {
-  this->setClassName ("ParticleSystem");
+   this->setClassID(CL_PARTICLE_SYSTEM, "ParticleSystem");
   this->material = NULL;
   this->name = NULL;
Index: orxonox/branches/physics/src/lib/graphics/text_engine.cc
===================================================================
--- orxonox/branches/physics/src/lib/graphics/text_engine.cc	(revision 4330)
+++ orxonox/branches/physics/src/lib/graphics/text_engine.cc	(revision 4332)
@@ -51,5 +51,5 @@
 Text::Text(Font* font, int type)
 {
-  this->setClassName("Text");
+  this->setClassID(CL_TEXT, "Text");
 
   // initialize this Text
@@ -802,5 +802,5 @@
 TextEngine::TextEngine () 
 {
-   this->setClassName ("TextEngine");
+   this->setClassID(CL_TEXT_ENGINE, "TextEngine");
    this->enableFonts();
 
Index: orxonox/branches/physics/src/lib/lang/base_entity.cc
===================================================================
--- orxonox/branches/physics/src/lib/lang/base_entity.cc	(revision 4330)
+++ 	(revision )
@@ -1,32 +1,0 @@
-
-
-/* 
-   orxonox - the future of 3D-vertical-scrollers
-
-   Copyright (C) 2004 orx
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   ### File Specific:
-   main-programmer: Patrick Boenzli
-   co-programmer: ...
-*/
-
-
-#include "base_entity.h"
-
-
-using namespace std;
-
-
-
-BaseEntity::BaseEntity () {}
-
-
-
-BaseEntity::~BaseEntity () {}
-
-
Index: orxonox/branches/physics/src/lib/lang/base_entity.h
===================================================================
--- orxonox/branches/physics/src/lib/lang/base_entity.h	(revision 4330)
+++ 	(revision )
@@ -1,20 +1,0 @@
-/*! 
-  \file base_entity.h
-  \brief This includes the default values every entity should have.						\
-*/
-
-#ifndef _BASE_ENTITY_H
-#define _BASE_ENTITY_H
-
-#include "stdincl.h"
-
-//! The Base of each entity-Class
-class BaseEntity {
-
- public:
-  BaseEntity ();
-  ~BaseEntity ();
-
-};
-
-#endif /* _BASE_ENTITY_H */
Index: orxonox/branches/physics/src/lib/lang/base_object.cc
===================================================================
--- orxonox/branches/physics/src/lib/lang/base_object.cc	(revision 4330)
+++ orxonox/branches/physics/src/lib/lang/base_object.cc	(revision 4332)
@@ -30,4 +30,5 @@
 {
   this->className = NULL;
+  this->id = -1;
   this->finalized = false;
 }
@@ -42,9 +43,42 @@
 }
 
-void BaseObject::setClassName (const char* className)
+
+/**
+   \brief sets the class identifiers
+   \param a number for the class from class_list.h enumeration
+   \param the class name
+*/
+void BaseObject::setClassID(int id, const char* className)
+{
+  this->id = id;
+  this->className = className;
+}
+
+
+/**
+   \brief sets the class identifier
+   \param a number for the class from class_list.h enumeration
+*/
+void BaseObject::setClassID (int id)
+{
+  this->id = id;
+}
+
+
+/**
+   \brief sets the class identifiers
+   \param the class name
+*/
+void BaseObject::setClassName(const char* className)
 {
   this->className = className;
 }
 
+
+/**
+   \brief sets the class identifiers
+   \param a number for the class from class_list.h enumeration
+   \param the class name
+*/
 bool BaseObject::isA (char* className)
 {
@@ -54,11 +88,8 @@
 }
 
+
 /*
-bool BaseObject::isFinalized()
-{
-  
-}
+  \brief this finalizes an object and makes it ready to be garbage collected
 */
-
 void BaseObject::finalize()
 {
Index: orxonox/branches/physics/src/lib/lang/base_object.h
===================================================================
--- orxonox/branches/physics/src/lib/lang/base_object.h	(revision 4330)
+++ orxonox/branches/physics/src/lib/lang/base_object.h	(revision 4332)
@@ -9,5 +9,5 @@
 
 #include "stdincl.h"
-
+#include "class_list.h"
 
 class BaseObject {
@@ -17,6 +17,10 @@
   virtual ~BaseObject ();
 
-  void setClassName (const char* className);
+  void setClassID(int id);
+  void setClassName(const char* className);
+  void setClassID(int id, const char* className);
+
   inline const char* getClassName(void) const { return this->className;};
+  inline int getClassID(void) const { return this->id; }
   bool isA (char* className);
 
@@ -25,6 +29,7 @@
 
  private:
-  const char* className;
-  bool finalized;
+  const char*    className;                       //!< the name of the class 
+  int            id;                              //!< this is the id from the class_list.h enumeration
+  bool           finalized;                       //!< is true if the object is ready to be garbage collected
 };
 
