Index: code/trunk/src/orxonox/controllers/AIController.cc
===================================================================
--- code/trunk/src/orxonox/controllers/AIController.cc	(revision 11052)
+++ code/trunk/src/orxonox/controllers/AIController.cc	(revision 11071)
@@ -249,5 +249,5 @@
             }
             else
-                this->setPreviousMode();//If bot dies -> getControllableEntity == NULL -> get out of ROCKET mode
+                this->setPreviousMode();//If bot dies -> getControllableEntity == nullptr -> get out of ROCKET mode
         }//END_OF ROCKET MODE
 
Index: code/trunk/src/orxonox/controllers/AIController.h
===================================================================
--- code/trunk/src/orxonox/controllers/AIController.h	(revision 11052)
+++ code/trunk/src/orxonox/controllers/AIController.h	(revision 11071)
@@ -44,5 +44,5 @@
             virtual ~AIController();
 
-            virtual void tick(float dt); //<! Carrying out the targets set in action().
+            virtual void tick(float dt) override; //<! Carrying out the targets set in action().
 
         protected:
Index: code/trunk/src/orxonox/controllers/ActionpointController.cc
===================================================================
--- code/trunk/src/orxonox/controllers/ActionpointController.cc	(revision 11052)
+++ code/trunk/src/orxonox/controllers/ActionpointController.cc	(revision 11071)
@@ -339,5 +339,5 @@
             inLoop = this->bInLoop_;
 
-            Action::Value value;
+            Action value;
             
             if ( actionName == "FIGHT" )
@@ -371,8 +371,8 @@
             return this->actionpoints_[index];
         else
-            return 0;
+            return nullptr;
     }
     //XML method
-    Action::Value ActionpointController::getAction ()
+    Action ActionpointController::getAction ()
     {
         return this->action_;
@@ -401,10 +401,10 @@
     }
     //XML method
-    void ActionpointController::setAction (Action::Value action)
+    void ActionpointController::setAction (Action action)
     {
         this->action_ = action;
     }
     //set action and target/protect
-    void ActionpointController::setAction (Action::Value action, ControllableEntity* target)
+    void ActionpointController::setAction (Action action, ControllableEntity* target)
     {
         if (!this || !this->getControllableEntity())
@@ -423,5 +423,5 @@
     }
     //set action and target position
-    void ActionpointController::setAction (Action::Value action, const Vector3& target)
+    void ActionpointController::setAction (Action action, const Vector3& target)
     {
         if (!this || !this->getControllableEntity())
@@ -434,5 +434,5 @@
     }
     //set action and target position and orientation
-    void ActionpointController::setAction (Action::Value action, const Vector3& target,  const Quaternion& orient )
+    void ActionpointController::setAction (Action action, const Vector3& target,  const Quaternion& orient )
     {
         if (!this || !this->getControllableEntity())
@@ -476,5 +476,5 @@
                 return;
 
-            this->setTarget(0);
+            this->setTarget(nullptr);
             this->setTargetPosition(this->getControllableEntity()->getWorldPosition());
             this->action_ = Action::NONE;
@@ -506,11 +506,11 @@
                 if (targetName == "")
                     break;
-                for (ObjectList<Pawn>::iterator itP = ObjectList<Pawn>::begin(); itP; ++itP)
-                {
-                    if (!this || !this->getControllableEntity())
-                        return;
-                    if (CommonController::getName(*itP) == targetName)
+                for (Pawn* pawn : ObjectList<Pawn>())
+                {
+                    if (!this || !this->getControllableEntity())
+                        return;
+                    if (CommonController::getName(pawn) == targetName)
                     {
-                        this->setTarget (static_cast<ControllableEntity*>(*itP));
+                        this->setTarget (static_cast<ControllableEntity*>(pawn));
                     }
                 }
@@ -541,9 +541,9 @@
                 if (protectName == "reservedKeyword:human")
                 {
-                    for (ObjectList<Pawn>::iterator itP = ObjectList<Pawn>::begin(); itP; ++itP)
+                    for (Pawn* pawn : ObjectList<Pawn>())
                     {
-                        if (orxonox_cast<ControllableEntity*>(*itP) && ((*itP)->getController()) && ((*itP)->getController()->getIdentifier()->getName() == "NewHumanController"))
+                        if (orxonox_cast<ControllableEntity*>(pawn) && (pawn->getController()) && (pawn->getController()->getIdentifier()->getName() == "NewHumanController"))
                         {
-                            this->setProtect (static_cast<ControllableEntity*>(*itP));
+                            this->setProtect (static_cast<ControllableEntity*>(pawn));
                         }
                     }
@@ -551,9 +551,9 @@
                 else
                 {
-                    for (ObjectList<Pawn>::iterator itP = ObjectList<Pawn>::begin(); itP; ++itP)
+                    for (Pawn* pawn : ObjectList<Pawn>())
                     {
-                        if (CommonController::getName(*itP) == protectName)
+                        if (CommonController::getName(pawn) == protectName)
                         {
-                            this->setProtect (static_cast<ControllableEntity*>(*itP));
+                            this->setProtect (static_cast<ControllableEntity*>(pawn));
                         }
                     }                            
@@ -578,11 +578,11 @@
                 std::string targetName = p.name;
 
-                for (ObjectList<Pawn>::iterator itP = ObjectList<Pawn>::begin(); itP; ++itP)
-                {
-                    if (CommonController::getName(*itP) == targetName)
+                for (Pawn* pawn : ObjectList<Pawn>())
+                {
+                    if (CommonController::getName(pawn) == targetName)
                     {
                         if (!this || !this->getControllableEntity())
                             return;
-                        this->setTarget (static_cast<ControllableEntity*>(*itP));
+                        this->setTarget (static_cast<ControllableEntity*>(pawn));
                     }
                 }
@@ -702,20 +702,20 @@
     {
         if (!this || !this->getControllableEntity())
-            return 0;
-
-        Pawn* closestTarget = 0;
+            return nullptr;
+
+        Pawn* closestTarget = nullptr;
         float minDistance =  std::numeric_limits<float>::infinity();
         Gametype* gt = this->getGametype();
-        for (ObjectList<Pawn>::iterator itP = ObjectList<Pawn>::begin(); itP; ++itP)
+        for (Pawn* pawn : ObjectList<Pawn>())
         {
             if (!this || !this->getControllableEntity())
-                return 0;
-            if ( CommonController::sameTeam (this->getControllableEntity(), static_cast<ControllableEntity*>(*itP), gt) )
+                return nullptr;
+            if ( CommonController::sameTeam (this->getControllableEntity(), static_cast<ControllableEntity*>(pawn), gt) )
                 continue;
 
-            float distance = CommonController::distance (*itP, this->getControllableEntity());
+            float distance = CommonController::distance (pawn, this->getControllableEntity());
             if (distance < minDistance)
             {
-                closestTarget = *itP;
+                closestTarget = pawn;
                 minDistance = distance;
             }
@@ -725,5 +725,5 @@
            return closestTarget;
         } 
-        return 0;  
+        return nullptr;
     }
     //push action FIGHT to the stack and set target to the closest enemy
Index: code/trunk/src/orxonox/controllers/ActionpointController.h
===================================================================
--- code/trunk/src/orxonox/controllers/ActionpointController.h	(revision 11052)
+++ code/trunk/src/orxonox/controllers/ActionpointController.h	(revision 11071)
@@ -65,26 +65,15 @@
         All the demos are in a file called AITest.oxw. In the menu look for New AI Testing Level.
     */
-    namespace Action
+    enum class Action
     {  
-        enum Value
-        {
-            NONE, FLY, FIGHT, PROTECT, FIGHTALL, ATTACK
-        };
-        
-    }
+        NONE, FLY, FIGHT, PROTECT, FIGHTALL, ATTACK
+    };
     
     struct Point {
-        Action::Value action;
+        Action action;
         std::string name;
         Vector3 position;
         bool inLoop;
-    } ;
-    namespace PickupType
-    {
-        enum Value
-        {  
-            NONE, DAMAGE, HEALTH, SPEED, PORTAL
-        };
-    }
+    };
 
     class _OrxonoxExport ActionpointController : public FightingController, public Tickable
@@ -94,5 +83,5 @@
             ActionpointController(Context* context);
             virtual ~ActionpointController();
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);          
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
                
             /**
@@ -101,5 +90,5 @@
                 In tick ship flies and fires.
             */
-            virtual void tick(float dt);   
+            virtual void tick(float dt) override;
             /**
             @brief
@@ -186,11 +175,11 @@
             virtual void takeActionpoints (const std::vector<Point>& vector, const std::vector<Point>& loop, bool b);
 
-            virtual Action::Value getAction ();
+            virtual Action getAction ();
             virtual std::string getActionName();
 
-            void setAction (Action::Value action);
-            void setAction (Action::Value action, ControllableEntity* target);
-            void setAction (Action::Value action, const Vector3& target);
-            void setAction (Action::Value action, const Vector3& target,  const Quaternion& orient );
+            void setAction (Action action);
+            void setAction (Action action, ControllableEntity* target);
+            void setAction (Action action, const Vector3& target);
+            void setAction (Action action, const Vector3& target,  const Quaternion& orient );
 
             virtual bool setWingman(ActionpointController* wingman)
@@ -210,11 +199,11 @@
                 WeakPtr<ActionpointController> myDivisionLeader_;
             //----[Actionpoint information]----
-                Action::Value action_;
+                Action action_;
                 std::string protectName_;
                 std::string targetName_;
-                std::vector<WeakPtr<WorldEntity> > actionpoints_;
+                std::vector<WeakPtr<WorldEntity>> actionpoints_;
                 float squaredaccuracy_;
-                std::vector<Point > parsedActionpoints_;//<! actionpoints as they are stored here after being parsed from XML
-                std::vector<Point > loopActionpoints_;  //<! actionpoints that are to be looped
+                std::vector<Point> parsedActionpoints_; //<! actionpoints as they are stored here after being parsed from XML
+                std::vector<Point> loopActionpoints_;   //<! actionpoints that are to be looped
                 bool bInLoop_;                          //<! variable for addActionpoint method
                 bool bLoop_;                            //<! is state machine looping?
Index: code/trunk/src/orxonox/controllers/ArtificialController.cc
===================================================================
--- code/trunk/src/orxonox/controllers/ArtificialController.cc	(revision 11052)
+++ code/trunk/src/orxonox/controllers/ArtificialController.cc	(revision 11071)
@@ -56,5 +56,5 @@
         this->currentWaypoint_ = 0;
         this->setAccuracy(5);
-        this->defaultWaypoint_ = NULL;
+        this->defaultWaypoint_ = nullptr;
         this->mode_ = DEFAULT;//Vector-implementation: mode_.push_back(DEFAULT);
     }
@@ -177,8 +177,8 @@
             {
                 this->weaponModes_.clear(); // reset previous weapon information
-                WeaponSlot* wSlot = 0;
+                WeaponSlot* wSlot = nullptr;
                 for(int l=0; (wSlot = pawn->getWeaponSlot(l)) ; l++)
                 {
-                    WeaponMode* wMode = 0;
+                    WeaponMode* wMode = nullptr;
                     for(int i=0; (wMode = wSlot->getWeapon()->getWeaponmode(i)) ; i++)
                     {
@@ -207,6 +207,6 @@
     void ArtificialController::setAllBotLevel(float level)
     {
-        for (ObjectList<ArtificialController>::iterator it = ObjectList<ArtificialController>::begin(); it != ObjectList<ArtificialController>::end(); ++it)
-            it->setBotLevel(level);
+        for (ArtificialController* controller : ObjectList<ArtificialController>())
+            controller->setBotLevel(level);
     }
 
@@ -222,5 +222,5 @@
     {
         SpaceShip* ship = orxonox_cast<SpaceShip*>(this->getControllableEntity());
-        if(ship == NULL) return;
+        if(ship == nullptr) return;
         if(ship->getBoostPower()*1.5f > ship->getInitialBoostPower() ) //upper limit ->boost
             this->getControllableEntity()->boost(true);
@@ -231,8 +231,8 @@
     int ArtificialController::getFiremode(std::string name)
     {
-        for (std::map< std::string, int >::iterator it = this->weaponModes_.begin(); it != this->weaponModes_.end(); ++it)
-        {
-            if (it->first == name)
-                return it->second;
+        for (const auto& mapEntry : this->weaponModes_)
+        {
+            if (mapEntry.first == name)
+                return mapEntry.second;
         }
         return -1;
@@ -249,5 +249,5 @@
             return this->waypoints_[index];
         else
-            return 0;
+            return nullptr;
     }
 
@@ -258,12 +258,12 @@
     void ArtificialController::updatePointsOfInterest(std::string name, float searchDistance)
     {
-        WorldEntity* waypoint = NULL;
-        for (ObjectList<WorldEntity>::iterator it = ObjectList<WorldEntity>::begin(); it != ObjectList<WorldEntity>::end(); ++it)
-        {
-            if((*it)->getIdentifier() == ClassByString(name))
+        WorldEntity* waypoint = nullptr;
+        for (WorldEntity* we : ObjectList<WorldEntity>())
+        {
+            if(we->getIdentifier() == ClassByString(name))
             {
                 ControllableEntity* controllable = this->getControllableEntity();
                 if(!controllable) continue;
-                float actualDistance = ( (*it)->getPosition() - controllable->getPosition() ).length();
+                float actualDistance = ( we->getPosition() - controllable->getPosition() ).length();
                 if(actualDistance > searchDistance || actualDistance < 5.0f) continue;
                     // TODO: PickupSpawner: adjust waypoint accuracy to PickupSpawner's triggerdistance
@@ -271,5 +271,5 @@
                 else
                 {
-                    waypoint = *it;
+                    waypoint = we;
                     break;
                 }
Index: code/trunk/src/orxonox/controllers/ArtificialController.h
===================================================================
--- code/trunk/src/orxonox/controllers/ArtificialController.h	(revision 11052)
+++ code/trunk/src/orxonox/controllers/ArtificialController.h	(revision 11071)
@@ -42,9 +42,9 @@
             virtual ~ArtificialController();
 
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
 
             void abandonTarget(Pawn* target);
 
-            virtual void changedControllableEntity();
+            virtual void changedControllableEntity() override;
 
             virtual void doFire();
@@ -89,5 +89,5 @@
 
             //WAYPOINT DATA
-            std::vector<WeakPtr<WorldEntity> > waypoints_;
+            std::vector<WeakPtr<WorldEntity>> waypoints_;
             size_t currentWaypoint_;
             float squaredaccuracy_;
Index: code/trunk/src/orxonox/controllers/CommonController.cc
===================================================================
--- code/trunk/src/orxonox/controllers/CommonController.cc	(revision 11052)
+++ code/trunk/src/orxonox/controllers/CommonController.cc	(revision 11071)
@@ -83,5 +83,5 @@
         int team2 = entity2->getTeam();
 
-        Controller* controller = 0;
+        Controller* controller = nullptr;
         if (entity1->getController())
             controller = entity1->getController();
@@ -120,5 +120,5 @@
         }
 
-        TeamBaseMatchBase* base = 0;
+        TeamBaseMatchBase* base = nullptr;
         base = orxonox_cast<TeamBaseMatchBase*>(entity1);
         if (base)
@@ -154,5 +154,5 @@
         }
 
-        DroneController* droneController = 0;
+        DroneController* droneController = nullptr;
         droneController = orxonox_cast<DroneController*>(entity1->getController());
         if (droneController && static_cast<ControllableEntity*>(droneController->getOwner()) == entity2)
Index: code/trunk/src/orxonox/controllers/Controller.cc
===================================================================
--- code/trunk/src/orxonox/controllers/Controller.cc	(revision 11052)
+++ code/trunk/src/orxonox/controllers/Controller.cc	(revision 11071)
@@ -40,6 +40,6 @@
         RegisterObject(Controller);
 
-        this->player_ = 0;
-        this->controllableEntity_ = 0;
+        this->player_ = nullptr;
+        this->controllableEntity_ = nullptr;
         this->bGodMode_ = false;
         this->team_=-1;
Index: code/trunk/src/orxonox/controllers/Controller.h
===================================================================
--- code/trunk/src/orxonox/controllers/Controller.h	(revision 11052)
+++ code/trunk/src/orxonox/controllers/Controller.h	(revision 11071)
@@ -45,5 +45,5 @@
             Controller(Context* context);
             virtual ~Controller();
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
             inline void setPlayer(PlayerInfo* player)
                 { this->player_ = player; }
Index: code/trunk/src/orxonox/controllers/ControllerDirector.cc
===================================================================
--- code/trunk/src/orxonox/controllers/ControllerDirector.cc	(revision 11052)
+++ code/trunk/src/orxonox/controllers/ControllerDirector.cc	(revision 11071)
@@ -32,7 +32,7 @@
 
         // Initialize member variables
-        this->player_ = NULL;
-        this->entity_ = NULL;
-        this->pTrigger_ = NULL;
+        this->player_ = nullptr;
+        this->entity_ = nullptr;
+        this->pTrigger_ = nullptr;
         this->context_ = context;
     }
@@ -110,10 +110,10 @@
     {
         this->pTrigger_ = orxonox_cast<PlayerTrigger*>(trigger);
-        this->player_ = NULL;
+        this->player_ = nullptr;
 
         orxout(verbose) << "Preparation to take Control!" << endl; 
 
         // Check whether it is a player trigger and extract pawn from it
-        if(this->pTrigger_ != NULL)
+        if(this->pTrigger_ != nullptr)
         {
             // Get the object which triggered the event.
@@ -121,5 +121,5 @@
 
             // Check if there actually was a player returned.
-            if( this->player_ == NULL) return false;
+            if( this->player_ == nullptr) return false;
         }
         else
Index: code/trunk/src/orxonox/controllers/ControllerDirector.h
===================================================================
--- code/trunk/src/orxonox/controllers/ControllerDirector.h	(revision 11052)
+++ code/trunk/src/orxonox/controllers/ControllerDirector.h	(revision 11071)
@@ -43,7 +43,7 @@
             virtual ~ControllerDirector() { }
 
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
             bool party(bool bTriggered, BaseObject* trigger);
-            virtual void XMLEventPort(Element& xmlelement, XMLPort::Mode mode);
+            virtual void XMLEventPort(Element& xmlelement, XMLPort::Mode mode) override;
 
             inline void setScriptName(const std::string& name) { this->scriptname_ = name; }
Index: code/trunk/src/orxonox/controllers/DivisionController.cc
===================================================================
--- code/trunk/src/orxonox/controllers/DivisionController.cc	(revision 11052)
+++ code/trunk/src/orxonox/controllers/DivisionController.cc	(revision 11071)
@@ -40,33 +40,19 @@
         RegisterObject(DivisionController);
         this->setFormationMode(FormationMode::DIAMOND);
-        this->target_ = 0;
-        this->myFollower_ = 0;
-        this->myWingman_ = 0;
+        this->target_ = nullptr;
+        this->myFollower_ = nullptr;
+        this->myWingman_ = nullptr;
     }
 
     DivisionController::~DivisionController()
     {
-        for (size_t i = 0; i < this->actionpoints_.size(); ++i)
+        for (WorldEntity* actionpoint : this->actionpoints_)
         {
-            if(this->actionpoints_[i])
-                this->actionpoints_[i]->destroy();
+            if (actionpoint)
+                actionpoint->destroy();
         }
         this->parsedActionpoints_.clear();
         this->actionpoints_.clear();
     } 
-
-    void DivisionController::XMLPort(Element& xmlelement, XMLPort::Mode mode)
-    {
-        SUPER(DivisionController, XMLPort, xmlelement, mode);
-        
-    }
-    void DivisionController::tick(float dt)
-    {   
-        if (!this->isActive())
-            return;   
-        
-        SUPER(DivisionController, tick, dt);
-        
-    }
     void DivisionController::action()
     {   
Index: code/trunk/src/orxonox/controllers/DivisionController.h
===================================================================
--- code/trunk/src/orxonox/controllers/DivisionController.h	(revision 11052)
+++ code/trunk/src/orxonox/controllers/DivisionController.h	(revision 11071)
@@ -50,22 +50,16 @@
             //----[/language demanded functions]----            
 
-            //----[orxonox demanded functions]----
-                virtual void tick(float dt); 
-
-                virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);          
-            //----[orxonox demanded functions]----
-
             //----[own functions]----
-                virtual bool setFollower(ActionpointController* newFollower);
-                virtual bool setWingman(ActionpointController* newWingman);
-                virtual bool hasWingman();
-                virtual bool hasFollower();
+                virtual bool setFollower(ActionpointController* newFollower) override;
+                virtual bool setWingman(ActionpointController* newWingman) override;
+                virtual bool hasWingman() override;
+                virtual bool hasFollower() override;
                 
             //----[/own functions]----
-            virtual void stayNearProtect();
+            virtual void stayNearProtect() override;
 
         protected:
             //----action must only be managed by this----
-            virtual void action(); //<! action() is called in regular intervals managing the bot's behaviour.
+            virtual void action() override; //<! action() is called in regular intervals managing the bot's behaviour.
 
         private:
Index: code/trunk/src/orxonox/controllers/DroneController.cc
===================================================================
--- code/trunk/src/orxonox/controllers/DroneController.cc	(revision 11052)
+++ code/trunk/src/orxonox/controllers/DroneController.cc	(revision 11071)
@@ -49,6 +49,6 @@
         RegisterObject(DroneController);
 
-        this->owner_ = 0;
-        this->drone_ = 0;
+        this->owner_ = nullptr;
+        this->drone_ = nullptr;
         this->isShooting_ = false;
         this->setAccuracy(10);
Index: code/trunk/src/orxonox/controllers/DroneController.h
===================================================================
--- code/trunk/src/orxonox/controllers/DroneController.h	(revision 11052)
+++ code/trunk/src/orxonox/controllers/DroneController.h	(revision 11071)
@@ -53,5 +53,5 @@
             virtual ~DroneController();
 
-            virtual void tick(float dt); //!< The controlling happens here. This method defines what the controller has to do each tick.
+            virtual void tick(float dt) override; //!< The controlling happens here. This method defines what the controller has to do each tick.
 
             void setOwner(Pawn* owner);
Index: code/trunk/src/orxonox/controllers/FightingController.cc
===================================================================
--- code/trunk/src/orxonox/controllers/FightingController.cc	(revision 11052)
+++ code/trunk/src/orxonox/controllers/FightingController.cc	(revision 11071)
@@ -27,5 +27,4 @@
  */
 #include "controllers/FightingController.h"
-#include "core/XMLPort.h"
 #include "util/Math.h"
 
@@ -56,8 +55,4 @@
     {
         
-    }
-    void FightingController::XMLPort( Element& xmlelement, XMLPort::Mode mode )
-    {
-        SUPER( FightingController, XMLPort, xmlelement, mode );
     }
     void FightingController::lookAtTarget(float dt)
@@ -243,18 +238,18 @@
     {
         if (!this || !this->getControllableEntity())
-            return 0;
-
-        Pawn* closestTarget = 0;
+            return nullptr;
+
+        Pawn* closestTarget = nullptr;
         float minDistance =  std::numeric_limits<float>::infinity();
         Gametype* gt = this->getGametype();
-        for (ObjectList<Pawn>::iterator itP = ObjectList<Pawn>::begin(); itP; ++itP)
-        {
-            if ( CommonController::sameTeam (this->getControllableEntity(), static_cast<ControllableEntity*>(*itP), gt) )
+        for (Pawn* pawn : ObjectList<Pawn>())
+        {
+            if ( CommonController::sameTeam (this->getControllableEntity(), static_cast<ControllableEntity*>(pawn), gt) )
                 continue;
 
-            float distance = CommonController::distance (*itP, this->getControllableEntity());
+            float distance = CommonController::distance (pawn, this->getControllableEntity());
             if (distance < minDistance)
             {
-                closestTarget = *itP;
+                closestTarget = pawn;
                 minDistance = distance;
             }
@@ -264,5 +259,5 @@
            return closestTarget;
         } 
-        return 0;  
+        return nullptr;
     }
     //I checked it out, rockets DO NOT cause any problems! this->getControllableEntity() is always a SpaceShip
@@ -340,8 +335,8 @@
             {
                 this->weaponModes_.clear(); // reset previous weapon information
-                WeaponSlot* wSlot = 0;
+                WeaponSlot* wSlot = nullptr;
                 for(int l=0; (wSlot = pawn->getWeaponSlot(l)) ; l++)
                 {
-                    WeaponMode* wMode = 0;
+                    WeaponMode* wMode = nullptr;
                     for(int i=0; (wMode = wSlot->getWeapon()->getWeaponmode(i)) ; i++)
                     {
@@ -361,10 +356,10 @@
     }
 
-    int FightingController::getFiremode(std::string name)
-    {
-        for (std::map< std::string, int >::iterator it = this->weaponModes_.begin(); it != this->weaponModes_.end(); ++it)
-        {
-            if (it->first == name)
-                return it->second;
+    int FightingController::getFiremode(const std::string& name)
+    {
+        for (const auto& mapEntry : this->weaponModes_)
+        {
+            if (mapEntry.first == name)
+                return mapEntry.second;
         }
         return -1;
Index: code/trunk/src/orxonox/controllers/FightingController.h
===================================================================
--- code/trunk/src/orxonox/controllers/FightingController.h	(revision 11052)
+++ code/trunk/src/orxonox/controllers/FightingController.h	(revision 11071)
@@ -50,6 +50,4 @@
             virtual ~FightingController();
             
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
-       
             float squaredDistanceToTarget() const;
             bool isLookingAtTarget(float angle) const;
@@ -74,5 +72,4 @@
                                                                         //<! this and target_ plus or minus some amount in difference vector direction,
                                                                         //<! depending on whether it is better to close up or survive.
-            void dodgeTowards (Vector3& position);  //fly towards position and awoid being hit
             void doFire();  //<! choose weapon, set aim at target_ and fire
             WeakPtr<ControllableEntity> target_;
@@ -99,5 +96,5 @@
             void setupWeapons(); //<! Defines which weapons are available for a bot. Is recalled whenever a bot was killed.
             bool bSetupWorked; //<! If false, setupWeapons() is called.
-            int getFiremode(std::string name);
+            int getFiremode(const std::string& name);
           
     };
Index: code/trunk/src/orxonox/controllers/FlyingController.cc
===================================================================
--- code/trunk/src/orxonox/controllers/FlyingController.cc	(revision 11052)
+++ code/trunk/src/orxonox/controllers/FlyingController.cc	(revision 11071)
@@ -61,8 +61,8 @@
     }
    
-    void FlyingController::setFormationModeXML(std::string val)
+    void FlyingController::setFormationModeXML(const std::string& val)
     {
         const std::string valUpper = getUppercase(val);
-        FormationMode::Value value;
+        FormationMode value;
         
         if (valUpper == "WALL")
@@ -233,5 +233,5 @@
             return;
         SpaceShip* ship = orxonox_cast<SpaceShip*>(this->getControllableEntity());
-        if(ship == NULL) return;
+        if(ship == nullptr) return;
         if(ship->getBoostPower()*1.5f > ship->getInitialBoostPower()) //upper limit ->boost
         {
Index: code/trunk/src/orxonox/controllers/FlyingController.h
===================================================================
--- code/trunk/src/orxonox/controllers/FlyingController.h	(revision 11052)
+++ code/trunk/src/orxonox/controllers/FlyingController.h	(revision 11071)
@@ -41,11 +41,8 @@
 
     //Formation mode for the divisions
-    namespace FormationMode
+    enum class FormationMode
     {
-        enum Value
-        {
-            FINGER4, DIAMOND, WALL
-        };
-    }
+        FINGER4, DIAMOND, WALL
+    };
 
     class _OrxonoxExport FlyingController : public CommonController
@@ -58,5 +55,5 @@
             FlyingController(Context* context);
             virtual ~FlyingController();
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
 
             void setSpread (int spread)                         //<! spread is a multiplier for formation flight, should be bigger than 100
@@ -65,10 +62,10 @@
                 { return this->spread_; }
 
-            void setFormationModeXML(std::string val);
+            void setFormationModeXML(const std::string& val);
             std::string getFormationModeXML() const;
 
-            void setFormationMode(FormationMode::Value val)
+            void setFormationMode(FormationMode val)
                 { this->formationMode_ = val; }
-            FormationMode::Value getFormationMode() const
+            FormationMode getFormationMode() const
                 { return this->formationMode_; }
             bool bCopyOrientation_;                             //<! set to true by default, MasterController sets it in its tick(),
@@ -91,5 +88,5 @@
                                                                     //<! this stays in a certain position relative to leader      
             
-            FormationMode::Value formationMode_;
+            FormationMode formationMode_;
           
             float rotationProgress_;    //<! for slerping 
Index: code/trunk/src/orxonox/controllers/FormationController.cc
===================================================================
--- code/trunk/src/orxonox/controllers/FormationController.cc	(revision 11052)
+++ code/trunk/src/orxonox/controllers/FormationController.cc	(revision 11071)
@@ -58,13 +58,13 @@
     RegisterClass(FormationController);
 
-    static const unsigned int STANDARD_MAX_FORMATION_SIZE = 9;
-    static const int RADIUS_TO_SEARCH_FOR_MASTERS = 5000;
-    static const float FORMATION_LENGTH =  110;
-    static const float FORMATION_WIDTH =  110;
-    static const int FREEDOM_COUNT = 4; //seconds the slaves in a formation will be set free when master attacks an enemy
-    static const float SPEED_MASTER = 0.6f;
-    static const float ROTATEFACTOR_MASTER = 0.2f;
-    static const float SPEED_FREE = 0.8f;
-    static const float ROTATEFACTOR_FREE = 0.8f;
+    static constexpr unsigned int STANDARD_MAX_FORMATION_SIZE = 9;
+    static constexpr int RADIUS_TO_SEARCH_FOR_MASTERS = 5000;
+    static constexpr float FORMATION_LENGTH =  110;
+    static constexpr float FORMATION_WIDTH =  110;
+    static constexpr int FREEDOM_COUNT = 4; //seconds the slaves in a formation will be set free when master attacks an enemy
+    static constexpr float SPEED_MASTER = 0.6f;
+    static constexpr float ROTATEFACTOR_MASTER = 0.2f;
+    static constexpr float SPEED_FREE = 0.8f;
+    static constexpr float ROTATEFACTOR_FREE = 0.8f;
 
     FormationController::FormationController(Context* context) : Controller(context)
@@ -72,9 +72,9 @@
         RegisterObject(FormationController);
 
-        this->target_ = 0;
+        this->target_ = nullptr;
         this->formationFlight_ = false;
         this->passive_ = false;
         this->maxFormationSize_ = STANDARD_MAX_FORMATION_SIZE;
-        this->myMaster_ = 0;
+        this->myMaster_ = nullptr;
         this->freedomCount_ = 0;
 
@@ -97,21 +97,21 @@
             this->removeFromFormation();
 
-            for (ObjectList<FormationController>::iterator it = ObjectList<FormationController>::begin(); it; ++it)
-            {
-                if (*it != this)
+            for (FormationController* controller : ObjectList<FormationController>())
+            {
+                if (controller != this)
                 {
-                    if (it->myMaster_ == this)
+                    if (controller->myMaster_ == this)
                     {
-                        orxout(internal_error) << this << " is still master in " << (*it) << endl;
-                        it->myMaster_ = 0;
+                        orxout(internal_error) << this << " is still master in " << controller << endl;
+                        controller->myMaster_ = nullptr;
                     }
 
                     while (true)
                     {
-                        std::vector<FormationController*>::iterator it2 = std::find(it->slaves_.begin(), it->slaves_.end(), this);
-                        if (it2 != it->slaves_.end())
+                        std::vector<FormationController*>::iterator it2 = std::find(controller->slaves_.begin(), controller->slaves_.end(), this);
+                        if (it2 != controller->slaves_.end())
                         {
-                            orxout(internal_error) << this << " is still slave in " << (*it) << endl;
-                            it->slaves_.erase(it2);
+                            orxout(internal_error) << this << " is still slave in " << controller << endl;
+                            controller->slaves_.erase(it2);
                         }
                         else
@@ -140,12 +140,12 @@
     void FormationController::formationflight(const bool form)
     {
-        for (ObjectList<Pawn>::iterator it = ObjectList<Pawn>::begin(); it; ++it)
-        {
-            Controller* controller = 0;
-
-            if (it->getController())
-                controller = it->getController();
-            else if (it->getXMLController())
-                controller = it->getXMLController();
+        for (Pawn* pawn : ObjectList<Pawn>())
+        {
+            Controller* controller = nullptr;
+
+            if (pawn->getController())
+                controller = pawn->getController();
+            else if (pawn->getXMLController())
+                controller = pawn->getXMLController();
 
             if (!controller)
@@ -171,12 +171,12 @@
     void FormationController::masteraction(const int action)
     {
-        for (ObjectList<Pawn>::iterator it = ObjectList<Pawn>::begin(); it; ++it)
-        {
-            Controller* controller = 0;
-
-            if (it->getController())
-                controller = it->getController();
-            else if (it->getXMLController())
-                controller = it->getXMLController();
+        for (Pawn* pawn : ObjectList<Pawn>())
+        {
+            Controller* controller = nullptr;
+
+            if (pawn->getController())
+                controller = pawn->getController();
+            else if (pawn->getXMLController())
+                controller = pawn->getXMLController();
 
             if (!controller)
@@ -201,12 +201,12 @@
     void FormationController::passivebehaviour(const bool passive)
     {
-        for (ObjectList<Pawn>::iterator it = ObjectList<Pawn>::begin(); it; ++it)
-        {
-            Controller* controller = 0;
-
-            if (it->getController())
-                controller = it->getController();
-            else if (it->getXMLController())
-                controller = it->getXMLController();
+        for (Pawn* pawn : ObjectList<Pawn>())
+        {
+            Controller* controller = nullptr;
+
+            if (pawn->getController())
+                controller = pawn->getController();
+            else if (pawn->getXMLController())
+                controller = pawn->getXMLController();
 
             if (!controller)
@@ -228,12 +228,12 @@
     void FormationController::formationsize(const int size)
     {
-        for (ObjectList<Pawn>::iterator it = ObjectList<Pawn>::begin(); it; ++it)
-        {
-            Controller* controller = 0;
-
-            if (it->getController())
-                controller = it->getController();
-            else if (it->getXMLController())
-                controller = it->getXMLController();
+        for (Pawn* pawn : ObjectList<Pawn>())
+        {
+            Controller* controller = nullptr;
+
+            if (pawn->getController())
+                controller = pawn->getController();
+            else if (pawn->getXMLController())
+                controller = pawn->getXMLController();
 
             if (!controller)
@@ -383,5 +383,5 @@
         }
 
-        this->myMaster_ = 0;
+        this->myMaster_ = nullptr;
         this->state_ = FREE;
     }
@@ -398,5 +398,5 @@
         int teamSize = 0;
         //go through all pawns
-        for (ObjectList<Pawn>::iterator it = ObjectList<Pawn>::begin(); it; ++it)
+        for (Pawn* pawn : ObjectList<Pawn>())
         {
 
@@ -405,16 +405,16 @@
             if (!gt)
             {
-                gt=it->getGametype();
-            }
-            if (!FormationController::sameTeam(this->getControllableEntity(), static_cast<ControllableEntity*>(*it),gt))
+                gt=pawn->getGametype();
+            }
+            if (!FormationController::sameTeam(this->getControllableEntity(), static_cast<ControllableEntity*>(pawn),gt))
                 continue;
 
             //has it an FormationController?
-            Controller* controller = 0;
-
-            if (it->getController())
-                controller = it->getController();
-            else if (it->getXMLController())
-                controller = it->getXMLController();
+            Controller* controller = nullptr;
+
+            if (pawn->getController())
+                controller = pawn->getController();
+            else if (pawn->getXMLController())
+                controller = pawn->getXMLController();
 
             if (!controller)
@@ -422,5 +422,5 @@
 
             //is pawn oneself?
-            if (orxonox_cast<ControllableEntity*>(*it) == this->getControllableEntity())
+            if (orxonox_cast<ControllableEntity*>(pawn) == this->getControllableEntity())
                 continue;
 
@@ -433,5 +433,5 @@
                 continue;
 
-            float distance = (it->getPosition() - this->getControllableEntity()->getPosition()).length();
+            float distance = (pawn->getPosition() - this->getControllableEntity()->getPosition()).length();
 
             // is pawn in range?
@@ -440,8 +440,8 @@
                 if(newMaster->slaves_.size() > this->maxFormationSize_) continue;
 
-                for(std::vector<FormationController*>::iterator itSlave = this->slaves_.begin(); itSlave != this->slaves_.end(); itSlave++)
+                for(FormationController* slave : this->slaves_)
                 {
-                    (*itSlave)->myMaster_ = newMaster;
-                    newMaster->slaves_.push_back(*itSlave);
+                    slave->myMaster_ = newMaster;
+                    newMaster->slaves_.push_back(slave);
                 }
                 this->slaves_.clear();
@@ -458,5 +458,5 @@
         {
             this->state_ = MASTER;
-            this->myMaster_ = 0;
+            this->myMaster_ = nullptr;
         }
     }
@@ -486,5 +486,5 @@
             int i = 1;
 
-            for(std::vector<FormationController*>::iterator it = slaves_.begin(); it != slaves_.end(); it++)
+            for(FormationController* slave : slaves_)
             {
                 pos = Vector3::ZERO;
@@ -497,6 +497,6 @@
                     dest+=FORMATION_LENGTH*(orient*WorldEntity::BACK);
                 }
-                (*it)->setTargetOrientation(orient);
-                (*it)->setTargetPosition(pos);
+                slave->setTargetOrientation(orient);
+                slave->setTargetPosition(pos);
                 left=!left;
             }
@@ -518,9 +518,9 @@
             newMaster->state_ = MASTER;
             newMaster->slaves_ = this->slaves_;
-            newMaster->myMaster_ = 0;
-
-            for(std::vector<FormationController*>::iterator it = newMaster->slaves_.begin(); it != newMaster->slaves_.end(); it++)
-            {
-                (*it)->myMaster_ = newMaster;
+            newMaster->myMaster_ = nullptr;
+
+            for(FormationController* slave : newMaster->slaves_)
+            {
+                slave->myMaster_ = newMaster;
             }
         }
@@ -547,9 +547,9 @@
                 newMaster->state_ = MASTER;
                 newMaster->slaves_ = this->slaves_;
-                newMaster->myMaster_ = 0;
-
-                for(std::vector<FormationController*>::iterator it = newMaster->slaves_.begin(); it != newMaster->slaves_.end(); it++)
+                newMaster->myMaster_ = nullptr;
+
+                for(FormationController* slave : newMaster->slaves_)
                 {
-                    (*it)->myMaster_ = newMaster;
+                    slave->myMaster_ = newMaster;
                 }
             }
@@ -569,8 +569,8 @@
         if(this->state_ != MASTER) return;
 
-        for(std::vector<FormationController*>::iterator it = slaves_.begin(); it != slaves_.end(); it++)
-        {
-            (*it)->state_ = FREE;
-            (*it)->myMaster_ = 0;
+        for(FormationController* slave : slaves_)
+        {
+            slave->state_ = FREE;
+            slave->myMaster_ = nullptr;
         }
         this->slaves_.clear();
@@ -584,10 +584,10 @@
         if(this->state_ != MASTER) return;
 
-        for(std::vector<FormationController*>::iterator it = slaves_.begin(); it != slaves_.end(); it++)
-        {
-            (*it)->state_ = FREE;
-            (*it)->forceFreedom();
-            (*it)->targetPosition_ = this->targetPosition_;
-            (*it)->bShooting_ = true;
+        for(FormationController* slave : slaves_)
+        {
+            slave->state_ = FREE;
+            slave->forceFreedom();
+            slave->targetPosition_ = this->targetPosition_;
+            slave->bShooting_ = true;
 //             (*it)->getControllableEntity()->fire(0);// fire once for fun
         }
@@ -629,5 +629,5 @@
 
         //search new Master, then take lead
-        if (this->state_==FREE && this->myMaster_==0)
+        if (this->state_==FREE && this->myMaster_==nullptr)
         {
           searchNewMaster();
@@ -650,9 +650,9 @@
             this->slaves_.push_back(this->myMaster_);
             //set this as new master
-            for(std::vector<FormationController*>::iterator it = slaves_.begin(); it != slaves_.end(); it++)
-            {
-                 (*it)->myMaster_=this;
-            }
-            this->myMaster_=0;
+            for(FormationController* slave : slaves_)
+            {
+                 slave->myMaster_=this;
+            }
+            this->myMaster_=nullptr;
             this->state_=MASTER;
         }
@@ -694,9 +694,9 @@
         if (this->state_ == MASTER)
         {
-            for(std::vector<FormationController*>::iterator it = slaves_.begin(); it != slaves_.end(); it++)
-            {
-                 (*it)->formationMode_ = val;
+            for(FormationController* slave : slaves_)
+            {
+                 slave->formationMode_ = val;
                  if (val == ATTACK)
-                     (*it)->forgetTarget();
+                     slave->forgetTarget();
             }
         }
@@ -773,16 +773,16 @@
     {
 
-        Pawn *humanPawn = NULL;
-        NewHumanController *currentHumanController = NULL;
+        Pawn *humanPawn = nullptr;
+        NewHumanController *currentHumanController = nullptr;
         std::vector<FormationController*> allMasters;
 
-        for (ObjectList<Pawn>::iterator it = ObjectList<Pawn>::begin(); it; ++it)
-        {
-            Controller* controller = 0;
-
-            if (it->getController())
-                controller = it->getController();
-            else if (it->getXMLController())
-                controller = it->getXMLController();
+        for (Pawn* pawn : ObjectList<Pawn>())
+        {
+            Controller* controller = nullptr;
+
+            if (pawn->getController())
+                controller = pawn->getController();
+            else if (pawn->getXMLController())
+                controller = pawn->getXMLController();
 
             if (!controller)
@@ -791,5 +791,5 @@
             currentHumanController = orxonox_cast<NewHumanController*>(controller);
 
-            if(currentHumanController) humanPawn = *it;
+            if(currentHumanController) humanPawn = pawn;
 
             FormationController *aiController = orxonox_cast<FormationController*>(controller);
@@ -800,5 +800,5 @@
         }
 
-        if((humanPawn != NULL) && (allMasters.size() != 0))
+        if((humanPawn != nullptr) && (allMasters.size() != 0))
         {
             float posHuman = humanPawn->getPosition().length();
@@ -808,9 +808,10 @@
             int i = 0;
 
-            for(std::vector<FormationController*>::iterator it = allMasters.begin(); it != allMasters.end(); it++, i++)
-            {
-                if (!FormationController::sameTeam((*it)->getControllableEntity(), humanPawn, (*it)->getGametype())) continue;
-                distance = posHuman - (*it)->getControllableEntity()->getPosition().length();
+            for(FormationController* master : allMasters)
+            {
+                if (!FormationController::sameTeam(master->getControllableEntity(), humanPawn, master->getGametype())) continue;
+                distance = posHuman - master->getControllableEntity()->getPosition().length();
                 if(distance < minDistance) index = i;
+                i++;
             }
             allMasters[index]->followInit(humanPawn);
@@ -826,5 +827,5 @@
     void FormationController::followInit(Pawn* pawn, const bool always, const int secondsToFollow)
     {
-        if (pawn == NULL || this->state_ != MASTER)
+        if (pawn == nullptr || this->state_ != MASTER)
             return;
         this->specificMasterAction_  =  FOLLOW;
@@ -844,22 +845,22 @@
     {
 
-        Pawn *humanPawn = NULL;
-        NewHumanController *currentHumanController = NULL;
-
-        for (ObjectList<Pawn>::iterator it = ObjectList<Pawn>::begin(); it; ++it)
-        {
-            if (!it->getController())
+        Pawn *humanPawn = nullptr;
+        NewHumanController *currentHumanController = nullptr;
+
+        for (Pawn* pawn : ObjectList<Pawn>())
+        {
+            if (!pawn->getController())
                 continue;
 
-            currentHumanController = orxonox_cast<NewHumanController*>(it->getController());
+            currentHumanController = orxonox_cast<NewHumanController*>(pawn->getController());
             if(currentHumanController)
             {
-                if (!FormationController::sameTeam(this->getControllableEntity(), *it, this->getGametype())) continue;
-                humanPawn = *it;
+                if (!FormationController::sameTeam(this->getControllableEntity(), pawn, this->getGametype())) continue;
+                humanPawn = pawn;
                 break;
             }
         }
 
-        if((humanPawn != NULL))
+        if((humanPawn != nullptr))
                 this->followInit(humanPawn);
     }
@@ -918,22 +919,22 @@
         this->forgetTarget();
 
-        for (ObjectList<Pawn>::iterator it = ObjectList<Pawn>::begin(); it; ++it)
-        {
-            if (FormationController::sameTeam(this->getControllableEntity(), static_cast<ControllableEntity*>(*it), this->getGametype()))
+        for (Pawn* pawn : ObjectList<Pawn>())
+        {
+            if (FormationController::sameTeam(this->getControllableEntity(), static_cast<ControllableEntity*>(pawn), this->getGametype()))
                 continue;
 
             /* So AI won't choose invisible Spaceships as target */
-            if (!it->getRadarVisibility())
+            if (!pawn->getRadarVisibility())
                 continue;
 
-            if (static_cast<ControllableEntity*>(*it) != this->getControllableEntity())
+            if (static_cast<ControllableEntity*>(pawn) != this->getControllableEntity())
             {
                 float speed = this->getControllableEntity()->getVelocity().length();
                 Vector3 distanceCurrent = this->targetPosition_ - this->getControllableEntity()->getPosition();
-                Vector3 distanceNew = it->getPosition() - this->getControllableEntity()->getPosition();
-                if (!this->target_ || it->getPosition().squaredDistance(this->getControllableEntity()->getPosition()) * (1.5f + acos((this->getControllableEntity()->getOrientation() * WorldEntity::FRONT).dotProduct(distanceNew) / speed / distanceNew.length()) / math::twoPi)
+                Vector3 distanceNew = pawn->getPosition() - this->getControllableEntity()->getPosition();
+                if (!this->target_ || pawn->getPosition().squaredDistance(this->getControllableEntity()->getPosition()) * (1.5f + acos((this->getControllableEntity()->getOrientation() * WorldEntity::FRONT).dotProduct(distanceNew) / speed / distanceNew.length()) / math::twoPi)
                         < this->targetPosition_.squaredDistance(this->getControllableEntity()->getPosition()) * (1.5f + acos((this->getControllableEntity()->getOrientation() * WorldEntity::FRONT).dotProduct(distanceCurrent) / speed / distanceCurrent.length()) / math::twoPi) + rnd(-250, 250))
                 {
-                    this->setTarget(*it);
+                    this->setTarget(pawn);
                 }
             }
@@ -943,5 +944,5 @@
     void FormationController::forgetTarget()
     {
-        this->target_ = 0;
+        this->target_ = nullptr;
         this->bShooting_ = false;
     }
@@ -963,5 +964,5 @@
         int team2 = entity2->getTeam();
 
-        Controller* controller = 0;
+        Controller* controller = nullptr;
         if (entity1->getController())
             controller = entity1->getController();
@@ -1000,5 +1001,5 @@
         }
 
-        TeamBaseMatchBase* base = 0;
+        TeamBaseMatchBase* base = nullptr;
         base = orxonox_cast<TeamBaseMatchBase*>(entity1);
         if (base)
@@ -1034,5 +1035,5 @@
         }
 
-        DroneController* droneController = 0;
+        DroneController* droneController = nullptr;
         droneController = orxonox_cast<DroneController*>(entity1->getController());
         if (droneController && static_cast<ControllableEntity*>(droneController->getOwner()) == entity2)
Index: code/trunk/src/orxonox/controllers/FormationController.h
===================================================================
--- code/trunk/src/orxonox/controllers/FormationController.h	(revision 11052)
+++ code/trunk/src/orxonox/controllers/FormationController.h	(revision 11071)
@@ -50,5 +50,5 @@
       virtual ~FormationController();
 
-      virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+      virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
 
 
@@ -93,5 +93,5 @@
            { return this->formationMode_; }
 
-      virtual void hit(Pawn* originator, btManifoldPoint& contactpoint, float damage);
+      virtual void hit(Pawn* originator, btManifoldPoint& contactpoint, float damage) override;
 
       FormationController* getMaster( void ) { return myMaster_; }
@@ -99,5 +99,5 @@
       FormationController* getSlave( void ) { return this->slaves_.back(); }
 
-      virtual void changedControllableEntity();
+      virtual void changedControllableEntity() override;
 
   protected:
Index: code/trunk/src/orxonox/controllers/HumanController.cc
===================================================================
--- code/trunk/src/orxonox/controllers/HumanController.cc	(revision 11052)
+++ code/trunk/src/orxonox/controllers/HumanController.cc	(revision 11071)
@@ -65,5 +65,5 @@
     RegisterUnloadableClass(HumanController);
 
-    HumanController* HumanController::localController_s = 0;
+    HumanController* HumanController::localController_s = nullptr;
 
     HumanController::HumanController(Context* context) : FormationController(context)
@@ -81,5 +81,5 @@
             HumanController::localController_s->removeFromFormation();
         }
-        HumanController::localController_s = 0;
+        HumanController::localController_s = nullptr;
     }
 
@@ -321,5 +321,5 @@
             return orxonox_cast<Pawn*>(HumanController::localController_s->getControllableEntity());
         else
-            return NULL;
+            return nullptr;
     }
 
Index: code/trunk/src/orxonox/controllers/HumanController.h
===================================================================
--- code/trunk/src/orxonox/controllers/HumanController.h	(revision 11052)
+++ code/trunk/src/orxonox/controllers/HumanController.h	(revision 11071)
@@ -47,5 +47,5 @@
             virtual ~HumanController();
 
-            virtual void tick(float dt);
+            virtual void tick(float dt) override;
 
             static void moveFrontBack(const Vector2& value);
Index: code/trunk/src/orxonox/controllers/MasterController.cc
===================================================================
--- code/trunk/src/orxonox/controllers/MasterController.cc	(revision 11052)
+++ code/trunk/src/orxonox/controllers/MasterController.cc	(revision 11071)
@@ -58,10 +58,10 @@
         {
             //fill the vector in the first tick
-            for (ObjectList<ActionpointController>::iterator it = ObjectList<ActionpointController>::begin(); it; ++it)
+            for (ActionpointController* controller : ObjectList<ActionpointController>())
             {
                 //----0ptr?----
-                if (!it)
+                if (!controller)
                     continue;
-                this->controllers_.push_back(*it);
+                this->controllers_.push_back(controller);
             }
         }
Index: code/trunk/src/orxonox/controllers/MasterController.h
===================================================================
--- code/trunk/src/orxonox/controllers/MasterController.h	(revision 11052)
+++ code/trunk/src/orxonox/controllers/MasterController.h	(revision 11071)
@@ -61,5 +61,5 @@
 
             //----[orxonox demanded functions]----
-                virtual void tick(float dt); 
+                virtual void tick(float dt) override;
 
             //----[orxonox demanded functions]----
@@ -68,5 +68,5 @@
           
         private:
-            std::vector<WeakPtr<ActionpointController> > controllers_;  //<! vector of controllers, which action(), canFire() and maneuver() methods are to be called
+            std::vector<WeakPtr<ActionpointController>> controllers_;//<! vector of controllers, which action(), canFire() and maneuver() methods are to be called
             size_t indexOfCurrentController_;                        //<! index of current controller
             unsigned int numberOfTicksPassedSinceLastActionCall_;
Index: code/trunk/src/orxonox/controllers/NewHumanController.cc
===================================================================
--- code/trunk/src/orxonox/controllers/NewHumanController.cc	(revision 11052)
+++ code/trunk/src/orxonox/controllers/NewHumanController.cc	(revision 11071)
@@ -58,22 +58,22 @@
     RegisterUnloadableClass(NewHumanController);
 
-    NewHumanController* NewHumanController::localController_s = 0;
+    NewHumanController* NewHumanController::localController_s = nullptr;
 
     NewHumanController::NewHumanController(Context* context)
         : HumanController(context)
-        , crossHairOverlay_(NULL)
-        , centerOverlay_(NULL)
-        , damageOverlayTop_(NULL)
-        , damageOverlayRight_(NULL)
-        , damageOverlayBottom_(NULL)
-        , damageOverlayLeft_(NULL)
+        , crossHairOverlay_(nullptr)
+        , centerOverlay_(nullptr)
+        , damageOverlayTop_(nullptr)
+        , damageOverlayRight_(nullptr)
+        , damageOverlayBottom_(nullptr)
+        , damageOverlayLeft_(nullptr)
         , damageOverlayTT_(0)
         , damageOverlayTR_(0)
         , damageOverlayTB_(0)
         , damageOverlayTL_(0)
-        , arrowsOverlay1_(NULL)
-        , arrowsOverlay2_(NULL)
-        , arrowsOverlay3_(NULL)
-        , arrowsOverlay4_(NULL)
+        , arrowsOverlay1_(nullptr)
+        , arrowsOverlay2_(nullptr)
+        , arrowsOverlay3_(nullptr)
+        , arrowsOverlay4_(nullptr)
     {
         RegisterObject(NewHumanController);
@@ -445,6 +445,6 @@
             pawn->setAimPosition( mouseRay.getOrigin() + mouseRay.getDirection() * 3000 );
 
-        if( this->getControllableEntity() && this->getControllableEntity()->getTarget() != 0 )
-            this->getControllableEntity()->setTarget( 0 );
+        if( this->getControllableEntity() && this->getControllableEntity()->getTarget() != nullptr )
+            this->getControllableEntity()->setTarget( nullptr );
 
         //return this->controllableEntity_->getWorldPosition() + (this->controllableEntity_->getWorldOrientation() * Vector3::NEGATIVE_UNIT_Z * 2000);
Index: code/trunk/src/orxonox/controllers/NewHumanController.h
===================================================================
--- code/trunk/src/orxonox/controllers/NewHumanController.h	(revision 11052)
+++ code/trunk/src/orxonox/controllers/NewHumanController.h	(revision 11071)
@@ -45,16 +45,16 @@
             virtual ~NewHumanController();
 
-            virtual void tick(float dt);
+            virtual void tick(float dt) override;
 
-            virtual void frontback(const Vector2& value);
-            virtual void yaw(const Vector2& value);
-            virtual void pitch(const Vector2& value);
+            virtual void frontback(const Vector2& value) override;
+            virtual void yaw(const Vector2& value) override;
+            virtual void pitch(const Vector2& value) override;
 
             static void accelerate();
             static void decelerate();
 
-            virtual void doFire(unsigned int firemode);
+            virtual void doFire(unsigned int firemode) override;
 
-            virtual void hit(Pawn* originator, btManifoldPoint& contactpoint, float damage);
+            virtual void hit(Pawn* originator, btManifoldPoint& contactpoint, float damage) override;
 
             static void unfire();
@@ -65,7 +65,7 @@
             static void changeMode();
 
-            virtual void changedControllableEntity();
-            virtual void doPauseControl();
-            virtual void doResumeControl();
+            virtual void changedControllableEntity() override;
+            virtual void doPauseControl() override;
+            virtual void doResumeControl() override;
 
             float getCurrentYaw(){ return this->currentYaw_; }
Index: code/trunk/src/orxonox/controllers/ScriptController.cc
===================================================================
--- code/trunk/src/orxonox/controllers/ScriptController.cc	(revision 11052)
+++ code/trunk/src/orxonox/controllers/ScriptController.cc	(revision 11071)
@@ -64,6 +64,6 @@
         /* Set default values for all variables */
         /* - pointers to zero */
-        this->player_ = NULL;
-        this->entity_ = NULL;
+        this->player_ = nullptr;
+        this->entity_ = nullptr;
 
         /* - times */
@@ -121,22 +121,18 @@
 
       /* Debugging: print all the scriptcontroller object pointers */
-      for(ObjectList<ScriptController>::iterator it = 
-        ObjectList<ScriptController>::begin(); 
-        it != ObjectList<ScriptController>::end(); ++it)
-      { orxout(verbose) << "Have object in list: " << *it << endl; }
+      for(ScriptController* controller : ObjectList<ScriptController>())
+      { orxout(verbose) << "Have object in list: " << controller << endl; }
 
       /* Find the first one with a nonzero ID */
-      for(ObjectList<ScriptController>::iterator it = 
-        ObjectList<ScriptController>::begin(); 
-        it != ObjectList<ScriptController>::end(); ++it)
+      for(ScriptController* controller : ObjectList<ScriptController>())
       { 
         // TODO: do some selection here. Currently just returns the first one
-        if( (*it)->getID() > 0 )
-        { orxout(verbose) << "Controller to return: " << *it << endl;
-          return *it; 
+        if( controller->getID() > 0 )
+        { orxout(verbose) << "Controller to return: " << controller << endl;
+          return controller;
         }
       
       }
-      return NULL;
+      return nullptr;
     }
 
Index: code/trunk/src/orxonox/controllers/ScriptController.h
===================================================================
--- code/trunk/src/orxonox/controllers/ScriptController.h	(revision 11052)
+++ code/trunk/src/orxonox/controllers/ScriptController.h	(revision 11071)
@@ -71,5 +71,5 @@
             void setPlayer(PlayerInfo* player) { this->player_ = player; }
            
-            virtual void tick(float dt);
+            virtual void tick(float dt) override;
 
             // LUA interface
Index: code/trunk/src/orxonox/controllers/SectionController.cc
===================================================================
--- code/trunk/src/orxonox/controllers/SectionController.cc	(revision 11052)
+++ code/trunk/src/orxonox/controllers/SectionController.cc	(revision 11071)
@@ -40,6 +40,6 @@
         this->setFormationMode(FormationMode::FINGER4);
 
-        this->myWingman_ = 0;
-        this->myDivisionLeader_ = 0;
+        this->myWingman_ = nullptr;
+        this->myDivisionLeader_ = nullptr;
         this->bFirstAction_ = true;
 
@@ -48,25 +48,11 @@
     SectionController::~SectionController()
     {
-       for (size_t i = 0; i < this->actionpoints_.size(); ++i)
-        {
-            if(this->actionpoints_[i])
-                this->actionpoints_[i]->destroy();
+        for (WorldEntity* actionpoint : this->actionpoints_)
+        {
+            if (actionpoint)
+                actionpoint->destroy();
         }
         this->parsedActionpoints_.clear();
         this->actionpoints_.clear();
-    }
-    void SectionController::XMLPort(Element& xmlelement, XMLPort::Mode mode)
-    {
-        SUPER(SectionController, XMLPort, xmlelement, mode);
-    }
-
-    //----in tick, move (or look) and shoot----
-    void SectionController::tick(float dt)
-    {
-        if (!this->isActive())
-            return;
-   
-        SUPER(SectionController, tick, dt);
-        
     }
 
@@ -131,5 +117,5 @@
     {
         //----If division leader fights, cover him by fighting emenies close to his target----
-        Action::Value action = this->myDivisionLeader_->getAction();
+        Action action = this->myDivisionLeader_->getAction();
 
         if (action == Action::FIGHT || action == Action::FIGHTALL || action == Action::ATTACK)
@@ -147,15 +133,15 @@
                     Vector3 divisionTargetPosition = this->myDivisionLeader_->getTarget()->getWorldPosition();
                     Gametype* gt = this->getGametype();
-                    for (ObjectList<Pawn>::iterator itP = ObjectList<Pawn>::begin(); itP; ++itP)
+                    for (Pawn* pawn : ObjectList<Pawn>())
                     {
                         //----is enemy?----
-                        if ( CommonController::sameTeam (this->getControllableEntity(), static_cast<ControllableEntity*>(*itP), gt) )
+                        if ( CommonController::sameTeam (this->getControllableEntity(), static_cast<ControllableEntity*>(pawn), gt) )
                             continue;           
                         //----in range?----
-                        if (((*itP)->getWorldPosition() - divisionTargetPosition).length() < 3000 && 
-                            (*itP) != this->myDivisionLeader_->getTarget())
+                        if ((pawn->getWorldPosition() - divisionTargetPosition).length() < 3000 &&
+                            pawn != this->myDivisionLeader_->getTarget())
                         {
                             foundTarget = true;
-                            target =  (*itP);
+                            target = pawn;
                             break; 
                         }
@@ -188,26 +174,17 @@
         this->setFormationMode( this->myDivisionLeader_->getFormationMode() );
         this->spread_ = this->myDivisionLeader_->getSpread();
-        Vector3* targetRelativePosition;
         switch (this->formationMode_){
             case FormationMode::WALL:
-            {
-                targetRelativePosition = new Vector3 (-2.0f*this->spread_, 0, 0);   
-                break;
-            }
+                return Vector3 (-2.0f*this->spread_, 0, 0);
+
             case FormationMode::FINGER4: 
-            {
-                targetRelativePosition = new Vector3 (-2.0f*this->spread_, 0, 1.0f*this->spread_);   
-                break;
-            }
+                return Vector3 (-2.0f*this->spread_, 0, 1.0f*this->spread_);
             
             case FormationMode::DIAMOND: 
-            {
-                targetRelativePosition = new Vector3 (-2.0f*this->spread_, 0, 1.0f*this->spread_);
-                break;
-            }
-        }
-        Vector3 result = *targetRelativePosition;
-        delete targetRelativePosition;
-        return result;
+                return Vector3 (-2.0f*this->spread_, 0, 1.0f*this->spread_);
+
+            default:
+                return Vector3::ZERO;
+        }
     }
 
@@ -226,27 +203,27 @@
 
         if (!this->getControllableEntity())
-            return 0;
-
-        ActionpointController* closestLeader = 0;
+            return nullptr;
+
+        ActionpointController* closestLeader = nullptr;
         float minDistance =  std::numeric_limits<float>::infinity();
         //go through all pawns
-        for (ObjectList<ActionpointController>::iterator it = ObjectList<ActionpointController>::begin(); it; ++it)
+        for (ActionpointController* controller : ObjectList<ActionpointController>())
         {
             //0ptr or not DivisionController?
-            if (!(it) || !((it)->getIdentifier()->getName() == "DivisionController") || !(it->getControllableEntity()))
+            if (!controller || !(controller->getIdentifier()->getName() == "DivisionController") || !(controller->getControllableEntity()))
                 continue;
             //same team?
-            if ((this->getControllableEntity()->getTeam() != (it)->getControllableEntity()->getTeam()))
+            if ((this->getControllableEntity()->getTeam() != controller->getControllableEntity()->getTeam()))
                 continue;
 
             //is equal to this?
-            if (orxonox_cast<ControllableEntity*>(*it) == this->getControllableEntity())
+            if (orxonox_cast<ControllableEntity*>(controller) == this->getControllableEntity())
                 continue;
 
-            float distance = CommonController::distance (it->getControllableEntity(), this->getControllableEntity());
+            float distance = CommonController::distance (controller->getControllableEntity(), this->getControllableEntity());
             
-            if (distance < minDistance && !(it->hasFollower()))
-            {
-                closestLeader = *it;
+            if (distance < minDistance && !(controller->hasFollower()))
+            {
+                closestLeader = controller;
                 minDistance = distance;
             }
@@ -258,5 +235,5 @@
                 return closestLeader;
         }
-        return 0;
+        return nullptr;
     }
 
Index: code/trunk/src/orxonox/controllers/SectionController.h
===================================================================
--- code/trunk/src/orxonox/controllers/SectionController.h	(revision 11052)
+++ code/trunk/src/orxonox/controllers/SectionController.h	(revision 11071)
@@ -49,16 +49,10 @@
             //----[/language demanded functions]----
             
-            //----[orxonox demanded functions]----
-                virtual void tick(float dt); 
-                
-                virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
-            //----[/orxonox demanded functions]----
-            
             //----[own functions]----
                 ActionpointController* findNewDivisionLeader();
 
-                virtual bool setWingman(ActionpointController* newWingman);
-                virtual bool hasWingman();
-                virtual bool hasFollower()
+                virtual bool setWingman(ActionpointController* newWingman) override;
+                virtual bool hasWingman() override;
+                virtual bool hasFollower() override
                     { return false; }
                 void chooseTarget();
@@ -67,5 +61,5 @@
         protected:       
             //----action must only be managed by this----     
-                virtual void action(); //<! action() is called in regular intervals by MasterController managing the bot's behaviour.
+                virtual void action() override; //<! action() is called in regular intervals by MasterController managing the bot's behaviour.
                 Vector3 getFormationPosition ();
                 void keepFormation();
Index: code/trunk/src/orxonox/controllers/WaypointController.cc
===================================================================
--- code/trunk/src/orxonox/controllers/WaypointController.cc	(revision 11052)
+++ code/trunk/src/orxonox/controllers/WaypointController.cc	(revision 11071)
@@ -44,8 +44,8 @@
     WaypointController::~WaypointController()
     {
-        for (size_t i = 0; i < this->waypoints_.size(); ++i)
+        for (WorldEntity* waypoint : this->waypoints_)
         {
-            if(this->waypoints_[i])
-                this->waypoints_[i]->destroy();
+            if(waypoint)
+                waypoint->destroy();
         }
     }
Index: code/trunk/src/orxonox/controllers/WaypointController.h
===================================================================
--- code/trunk/src/orxonox/controllers/WaypointController.h	(revision 11052)
+++ code/trunk/src/orxonox/controllers/WaypointController.h	(revision 11071)
@@ -44,5 +44,5 @@
             virtual ~WaypointController();
 
-            virtual void tick(float dt);
+            virtual void tick(float dt) override;
 
         protected:
Index: code/trunk/src/orxonox/controllers/WaypointPatrolController.cc
===================================================================
--- code/trunk/src/orxonox/controllers/WaypointPatrolController.cc	(revision 11052)
+++ code/trunk/src/orxonox/controllers/WaypointPatrolController.cc	(revision 11071)
@@ -87,19 +87,19 @@
         float shortestsqdistance = (float)static_cast<unsigned int>(-1);
 
-        for (ObjectList<Pawn>::iterator it = ObjectList<Pawn>::begin(); it != ObjectList<Pawn>::end(); ++it)
+        for (Pawn* pawn : ObjectList<Pawn>())
         {
-            if (ArtificialController::sameTeam(this->getControllableEntity(), static_cast<ControllableEntity*>(*it), this->getGametype()))
+            if (ArtificialController::sameTeam(this->getControllableEntity(), static_cast<ControllableEntity*>(pawn), this->getGametype()))
                 continue;
 
-            float sqdistance = it->getPosition().squaredDistance(myposition);
+            float sqdistance = pawn->getPosition().squaredDistance(myposition);
             if (sqdistance < shortestsqdistance)
             {
                 shortestsqdistance = sqdistance;
-                this->target_ = (*it);
+                this->target_ = pawn;
             }
         }
 
         if (shortestsqdistance > (this->alertnessradius_ * this->alertnessradius_))
-            this->target_ = 0;
+            this->target_ = nullptr;
     }
 }
Index: code/trunk/src/orxonox/controllers/WaypointPatrolController.h
===================================================================
--- code/trunk/src/orxonox/controllers/WaypointPatrolController.h	(revision 11052)
+++ code/trunk/src/orxonox/controllers/WaypointPatrolController.h	(revision 11071)
@@ -43,6 +43,6 @@
             virtual ~WaypointPatrolController() {}
 
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
-            virtual void tick(float dt);
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
+            virtual void tick(float dt) override;
 
             inline void setAlertnessRadius(float radius)
Index: code/trunk/src/orxonox/controllers/WingmanController.cc
===================================================================
--- code/trunk/src/orxonox/controllers/WingmanController.cc	(revision 11052)
+++ code/trunk/src/orxonox/controllers/WingmanController.cc	(revision 11071)
@@ -39,5 +39,5 @@
     {
         RegisterObject(WingmanController);
-        this->myLeader_ = 0;
+        this->myLeader_ = nullptr;
         this->bFirstAction_ = true;
 
@@ -46,26 +46,11 @@
     WingmanController::~WingmanController()
     {
-        for (size_t i = 0; i < this->actionpoints_.size(); ++i)
+        for (WorldEntity* actionpoint : this->actionpoints_)
         {
-            if(this->actionpoints_[i])
-                this->actionpoints_[i]->destroy();
+            if (actionpoint)
+                actionpoint->destroy();
         }
         this->parsedActionpoints_.clear();
         this->actionpoints_.clear();
-    }
-  
-    void WingmanController::XMLPort(Element& xmlelement, XMLPort::Mode mode)
-    {
-        SUPER(WingmanController, XMLPort, xmlelement, mode);
-    }
-    
-    //----in tick, move (or look) and shoot----
-    void WingmanController::tick(float dt)
-    {   
-        if (!this->isActive())
-            return; 
-        
-        SUPER(WingmanController, tick, dt);
-
     }
     
@@ -122,8 +107,5 @@
     Vector3 WingmanController::getFormationPosition ()
     {
-
-
         this->setFormationMode( this->myLeader_->getFormationMode() );
-        Vector3* targetRelativePosition;
         this->spread_ = this->myLeader_->getSpread();
         if (this->myLeader_->getIdentifier()->getName() == "DivisionController")
@@ -131,18 +113,11 @@
             switch (this->formationMode_){
                 case FormationMode::WALL:
-                {
-                    targetRelativePosition = new Vector3 (2.0f*this->spread_, 0, 0 - 1.0f*this->tolerance_);
-                    break;
-                }
+                    return Vector3 (2.0f*this->spread_, 0, 0 - 1.0f*this->tolerance_);
                 case FormationMode::FINGER4: 
-                {
-                    targetRelativePosition = new Vector3 (2.0f*this->spread_, 0, this->spread_ - 1.0f*this->tolerance_);
-                    break;
-                }
+                    return Vector3 (2.0f*this->spread_, 0, this->spread_ - 1.0f*this->tolerance_);
                 case FormationMode::DIAMOND: 
-                {
-                    targetRelativePosition = new Vector3 (2.0f*this->spread_, 0, this->spread_ - 1.0f*this->tolerance_);
-                    break;
-                }
+                    return Vector3 (2.0f*this->spread_, 0, this->spread_ - 1.0f*this->tolerance_);
+                default:
+                    return Vector3::ZERO;
             }
         }
@@ -151,23 +126,13 @@
             switch (this->formationMode_){
                 case FormationMode::WALL:
-                {
-                    targetRelativePosition = new Vector3 (-2.0f*this->spread_, 0, 0 - 1.0f*this->tolerance_);
-                    break;
-                }
+                    return Vector3 (-2.0f*this->spread_, 0, 0 - 1.0f*this->tolerance_);
                 case FormationMode::FINGER4: 
-                {
-                    targetRelativePosition = new Vector3 (-2.0f*this->spread_, 0, this->spread_ - 1.0f*this->tolerance_);
-                    break;
-                }
+                    return Vector3 (-2.0f*this->spread_, 0, this->spread_ - 1.0f*this->tolerance_);
                 case FormationMode::DIAMOND: 
-                {
-                    targetRelativePosition = new Vector3 (2.0f*this->spread_, -1.0f*this->spread_, 0 - 1.0f*this->tolerance_);
-                    break;
-                }
+                    return Vector3 (2.0f*this->spread_, -1.0f*this->spread_, 0 - 1.0f*this->tolerance_);
+                default:
+                    return Vector3::ZERO;
             }
         }
-        Vector3 result = *targetRelativePosition;
-        delete targetRelativePosition;
-        return result;
     }
     void WingmanController::keepFormation()
@@ -185,28 +150,28 @@
 
         if (!this->getControllableEntity())
-            return 0;
+            return nullptr;
 
         //----vars for finding the closest leader----
-        ActionpointController* closestLeader = 0;
+        ActionpointController* closestLeader = nullptr;
         float minDistance =  std::numeric_limits<float>::infinity();
         Gametype* gt = this->getGametype();
 
-        for (ObjectList<ActionpointController>::iterator it = ObjectList<ActionpointController>::begin(); it; ++it)
+        for (ActionpointController* controller : ObjectList<ActionpointController>())
         {
             //----0ptr or not a leader or dead?----
-            if (!it || 
-                (it->getIdentifier()->getName() != "SectionController" && it->getIdentifier()->getName() != "DivisionController") || 
-                !(it->getControllableEntity()))
+            if (!controller ||
+                (controller->getIdentifier()->getName() != "SectionController" && controller->getIdentifier()->getName() != "DivisionController") ||
+                !(controller->getControllableEntity()))
                 continue;
             
             //----same team?----
-            if ( !CommonController::sameTeam (this->getControllableEntity(), (it)->getControllableEntity(), gt) )
+            if ( !CommonController::sameTeam (this->getControllableEntity(), controller->getControllableEntity(), gt) )
                 continue;
             
             //----check distance----
-            float distance = CommonController::distance (it->getControllableEntity(), this->getControllableEntity());
-            if (distance < minDistance && !(it->hasWingman()))
+            float distance = CommonController::distance (controller->getControllableEntity(), this->getControllableEntity());
+            if (distance < minDistance && !(controller->hasWingman()))
             {
-                closestLeader = *it;
+                closestLeader = controller;
                 minDistance = distance;
             }
@@ -222,5 +187,5 @@
             }
         }
-        return 0;
+        return nullptr;
     }
 
Index: code/trunk/src/orxonox/controllers/WingmanController.h
===================================================================
--- code/trunk/src/orxonox/controllers/WingmanController.h	(revision 11052)
+++ code/trunk/src/orxonox/controllers/WingmanController.h	(revision 11071)
@@ -51,10 +51,7 @@
             
             //----[orxonox demanded functions]----
-                virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
-
-                virtual void tick(float dt); 
-                virtual bool hasWingman()
+                virtual bool hasWingman() override
                     { return false; }
-                virtual bool hasFollower()
+                virtual bool hasFollower() override
                     { return false; }
             //----[/orxonox demanded functions]----
@@ -66,5 +63,5 @@
         protected:
             //----action must only be managed by this----
-                virtual void action(); //<! action() is called in regular intervals managing the bot's behaviour.
+                virtual void action() override; //<! action() is called in regular intervals managing the bot's behaviour.
                 Vector3 getFormationPosition ();
                 void keepFormation();
