Index: code/branches/objecthierarchy/src/orxonox/objects/controllers/Controller.cc
===================================================================
--- code/branches/objecthierarchy/src/orxonox/objects/controllers/Controller.cc	(revision 2001)
+++ code/branches/objecthierarchy/src/orxonox/objects/controllers/Controller.cc	(revision 2019)
@@ -36,10 +36,10 @@
     CreateUnloadableFactory(Controller);
 
-    Controller::Controller()
+    Controller::Controller(BaseObject* creator) : BaseObject(creator)
     {
         RegisterObject(Controller);
 
         this->player_ = 0;
-        this->pawn_ = 0;
+        this->controllableEntity_ = 0;
     }
 
Index: code/branches/objecthierarchy/src/orxonox/objects/controllers/Controller.h
===================================================================
--- code/branches/objecthierarchy/src/orxonox/objects/controllers/Controller.h	(revision 2001)
+++ code/branches/objecthierarchy/src/orxonox/objects/controllers/Controller.h	(revision 2019)
@@ -39,5 +39,5 @@
     {
         public:
-            Controller();
+            Controller(BaseObject* creator);
             virtual ~Controller();
 
@@ -47,12 +47,12 @@
                 { return this->player_; }
 
-            inline void setPawn(ControllableEntity* pawn)
-                { this->pawn_ = pawn; }
-            inline ControllableEntity* getPawn() const
-                { return this->pawn_; }
+            virtual inline void setControllableEntity(ControllableEntity* entity)
+                { this->controllableEntity_ = entity; }
+            virtual inline ControllableEntity* getControllableEntity() const
+                { return this->controllableEntity_; }
 
         protected:
             PlayerInfo* player_;
-            ControllableEntity* pawn_;
+            ControllableEntity* controllableEntity_;
     };
 }
Index: code/branches/objecthierarchy/src/orxonox/objects/controllers/HumanController.cc
===================================================================
--- code/branches/objecthierarchy/src/orxonox/objects/controllers/HumanController.cc	(revision 2001)
+++ code/branches/objecthierarchy/src/orxonox/objects/controllers/HumanController.cc	(revision 2019)
@@ -52,5 +52,5 @@
     HumanController* HumanController::localController_s = 0;
 
-    HumanController::HumanController()
+    HumanController::HumanController(BaseObject* creator) : Controller(creator)
     {
         RegisterObject(HumanController);
@@ -66,66 +66,66 @@
     void HumanController::moveFrontBack(const Vector2& value)
     {
-        if (HumanController::localController_s && HumanController::localController_s->pawn_)
-            HumanController::localController_s->pawn_->moveFrontBack(value.y);
+        if (HumanController::localController_s && HumanController::localController_s->controllableEntity_)
+            HumanController::localController_s->controllableEntity_->moveFrontBack(value.y);
     }
 
     void HumanController::moveRightLeft(const Vector2& value)
     {
-        if (HumanController::localController_s && HumanController::localController_s->pawn_)
-            HumanController::localController_s->pawn_->moveRightLeft(value.y);
+        if (HumanController::localController_s && HumanController::localController_s->controllableEntity_)
+            HumanController::localController_s->controllableEntity_->moveRightLeft(value.y);
     }
 
     void HumanController::moveUpDown(const Vector2& value)
     {
-        if (HumanController::localController_s && HumanController::localController_s->pawn_)
-            HumanController::localController_s->pawn_->moveUpDown(value.y);
+        if (HumanController::localController_s && HumanController::localController_s->controllableEntity_)
+            HumanController::localController_s->controllableEntity_->moveUpDown(value.y);
     }
 
     void HumanController::rotateYaw(const Vector2& value)
     {
-        if (HumanController::localController_s && HumanController::localController_s->pawn_)
-            HumanController::localController_s->pawn_->rotateYaw(value.y);
+        if (HumanController::localController_s && HumanController::localController_s->controllableEntity_)
+            HumanController::localController_s->controllableEntity_->rotateYaw(value.y);
     }
 
     void HumanController::rotatePitch(const Vector2& value)
     {
-        if (HumanController::localController_s && HumanController::localController_s->pawn_)
-            HumanController::localController_s->pawn_->rotatePitch(value.y);
+        if (HumanController::localController_s && HumanController::localController_s->controllableEntity_)
+            HumanController::localController_s->controllableEntity_->rotatePitch(value.y);
     }
 
     void HumanController::rotateRoll(const Vector2& value)
     {
-        if (HumanController::localController_s && HumanController::localController_s->pawn_)
-            HumanController::localController_s->pawn_->rotateRoll(value.y);
+        if (HumanController::localController_s && HumanController::localController_s->controllableEntity_)
+            HumanController::localController_s->controllableEntity_->rotateRoll(value.y);
     }
 
     void HumanController::fire()
     {
-        if (HumanController::localController_s && HumanController::localController_s->pawn_)
-            HumanController::localController_s->pawn_->fire();
+        if (HumanController::localController_s && HumanController::localController_s->controllableEntity_)
+            HumanController::localController_s->controllableEntity_->fire();
     }
 
     void HumanController::altFire()
     {
-        if (HumanController::localController_s && HumanController::localController_s->pawn_)
-            HumanController::localController_s->pawn_->altFire();
+        if (HumanController::localController_s && HumanController::localController_s->controllableEntity_)
+            HumanController::localController_s->controllableEntity_->altFire();
     }
 
     void HumanController::greet()
     {
-        if (HumanController::localController_s && HumanController::localController_s->pawn_)
-            HumanController::localController_s->pawn_->greet();
+        if (HumanController::localController_s && HumanController::localController_s->controllableEntity_)
+            HumanController::localController_s->controllableEntity_->greet();
     }
 
     void HumanController::use()
     {
-        if (HumanController::localController_s && HumanController::localController_s->pawn_)
-            HumanController::localController_s->pawn_->use();
+        if (HumanController::localController_s && HumanController::localController_s->controllableEntity_)
+            HumanController::localController_s->controllableEntity_->use();
     }
 
     void HumanController::switchCamera()
     {
-        if (HumanController::localController_s && HumanController::localController_s->pawn_)
-            HumanController::localController_s->pawn_->switchCamera();
+        if (HumanController::localController_s && HumanController::localController_s->controllableEntity_)
+            HumanController::localController_s->controllableEntity_->switchCamera();
     }
 }
Index: code/branches/objecthierarchy/src/orxonox/objects/controllers/HumanController.h
===================================================================
--- code/branches/objecthierarchy/src/orxonox/objects/controllers/HumanController.h	(revision 2001)
+++ code/branches/objecthierarchy/src/orxonox/objects/controllers/HumanController.h	(revision 2019)
@@ -40,5 +40,5 @@
     {
         public:
-            HumanController();
+            HumanController(BaseObject* creator);
             virtual ~HumanController();
 
