Index: code/branches/cpp11_v3/src/modules/hover/FlagHUD.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/hover/FlagHUD.cc	(revision 11064)
+++ code/branches/cpp11_v3/src/modules/hover/FlagHUD.cc	(revision 11065)
@@ -48,5 +48,5 @@
         RegisterObject(FlagHUD);
 
-        this->hoverGame_ = NULL;
+        this->hoverGame_ = nullptr;
         this->panel_ = static_cast<Ogre::PanelOverlayElement*>(Ogre::OverlayManager::getSingleton()
             .createOverlayElement("Panel", "FlagHUD_Panel_" + getUniqueNumberString()));
@@ -101,5 +101,5 @@
         else
         {
-            this->hoverGame_ = 0;
+            this->hoverGame_ = nullptr;
         }
     }
Index: code/branches/cpp11_v3/src/modules/hover/FlagHUD.h
===================================================================
--- code/branches/cpp11_v3/src/modules/hover/FlagHUD.h	(revision 11064)
+++ code/branches/cpp11_v3/src/modules/hover/FlagHUD.h	(revision 11065)
@@ -47,6 +47,6 @@
         virtual ~FlagHUD();
 
-        virtual void tick(float dt);
-        virtual void changedOwner();
+        virtual void tick(float dt) override;
+        virtual void changedOwner() override;
 
         void setFlagCount(int flagCount);
Index: code/branches/cpp11_v3/src/modules/hover/Hover.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/hover/Hover.cc	(revision 11064)
+++ code/branches/cpp11_v3/src/modules/hover/Hover.cc	(revision 11065)
@@ -48,5 +48,5 @@
         RegisterObject(Hover);
 
-        this->origin_ = NULL;
+        this->origin_ = nullptr;
         this->numberOfFlags_ = 1;
         this->firstTick_ = true;
Index: code/branches/cpp11_v3/src/modules/hover/Hover.h
===================================================================
--- code/branches/cpp11_v3/src/modules/hover/Hover.h	(revision 11064)
+++ code/branches/cpp11_v3/src/modules/hover/Hover.h	(revision 11065)
@@ -50,5 +50,5 @@
             Hover(Context* context);
 
-            virtual void tick(float dt);          
+            virtual void tick(float dt) override;
 
             void setOrigin(HoverOrigin* origin)
Index: code/branches/cpp11_v3/src/modules/hover/HoverFlag.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/hover/HoverFlag.cc	(revision 11064)
+++ code/branches/cpp11_v3/src/modules/hover/HoverFlag.cc	(revision 11065)
@@ -49,6 +49,6 @@
         RegisterObject(HoverFlag);
 
-        this->model_ = NULL;
-        this->cs_ = NULL;
+        this->model_ = nullptr;
+        this->cs_ = nullptr;
         this->collided_ = false;
 
Index: code/branches/cpp11_v3/src/modules/hover/HoverFlag.h
===================================================================
--- code/branches/cpp11_v3/src/modules/hover/HoverFlag.h	(revision 11064)
+++ code/branches/cpp11_v3/src/modules/hover/HoverFlag.h	(revision 11065)
@@ -51,5 +51,5 @@
             void init(int xCoordinate, int yCoordinate, int cellSize);
 
-            virtual bool collidesAgainst(WorldEntity* otherObject, const btCollisionShape* ownCollisionShape, btManifoldPoint& contactPoint);            
+            virtual bool collidesAgainst(WorldEntity* otherObject, const btCollisionShape* ownCollisionShape, btManifoldPoint& contactPoint) override;
 
             inline bool getCollided() const
Index: code/branches/cpp11_v3/src/modules/hover/HoverOrigin.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/hover/HoverOrigin.cc	(revision 11064)
+++ code/branches/cpp11_v3/src/modules/hover/HoverOrigin.cc	(revision 11065)
@@ -58,5 +58,5 @@
     void HoverOrigin::checkGametype()
     {
-        if (getGametype() != NULL && this->getGametype()->isA(Class(Hover)))
+        if (getGametype() != nullptr && this->getGametype()->isA(Class(Hover)))
         {
             Hover* hoverGametype = orxonox_cast<Hover*>(this->getGametype());
Index: code/branches/cpp11_v3/src/modules/hover/HoverOrigin.h
===================================================================
--- code/branches/cpp11_v3/src/modules/hover/HoverOrigin.h	(revision 11064)
+++ code/branches/cpp11_v3/src/modules/hover/HoverOrigin.h	(revision 11065)
@@ -108,6 +108,6 @@
         public:
             HoverOrigin(Context* context); //!< Constructor. Registers and initializes the object and checks whether the gametype is actually Hover.
-            virtual ~HoverOrigin() {}
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); //!< Method to create a HoverOrigin through XML.
+            virtual ~HoverOrigin() = default;
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override; //!< Method to create a HoverOrigin through XML.
             
             inline void setNumCells(int numCells)
Index: code/branches/cpp11_v3/src/modules/hover/HoverShip.h
===================================================================
--- code/branches/cpp11_v3/src/modules/hover/HoverShip.h	(revision 11064)
+++ code/branches/cpp11_v3/src/modules/hover/HoverShip.h	(revision 11065)
@@ -44,5 +44,5 @@
             HoverShip(Context* context);
 
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
 
             /// sets this ships jumpBoost
@@ -53,19 +53,19 @@
                 { return this->jumpBoost_; }
 
-            virtual void moveFrontBack(const Vector2& value);
+            virtual void moveFrontBack(const Vector2& value) override;
 
-            virtual void moveRightLeft(const Vector2& value);
+            virtual void moveRightLeft(const Vector2& value) override;
 
-            virtual void moveUpDown(const Vector2& value);
+            virtual void moveUpDown(const Vector2& value) override;
 
-            virtual void rotateYaw(const Vector2& value);
+            virtual void rotateYaw(const Vector2& value) override;
 
-            virtual void rotatePitch(const Vector2& value);
+            virtual void rotatePitch(const Vector2& value) override;
 
-            virtual void rotateRoll(const Vector2& value);
+            virtual void rotateRoll(const Vector2& value) override;
 
-            virtual bool collidesAgainst(WorldEntity* otherObject, const btCollisionShape* cs, btManifoldPoint& contactPoint);
+            virtual bool collidesAgainst(WorldEntity* otherObject, const btCollisionShape* cs, btManifoldPoint& contactPoint) override;
 
-            virtual void boost(bool bBoost);
+            virtual void boost(bool bBoost) override;
 
         private:
Index: code/branches/cpp11_v3/src/modules/hover/HoverWall.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/hover/HoverWall.cc	(revision 11064)
+++ code/branches/cpp11_v3/src/modules/hover/HoverWall.cc	(revision 11065)
@@ -46,6 +46,6 @@
         RegisterObject(HoverWall);
 
-        this->model_ = NULL;
-        this->cs_ = NULL;
+        this->model_ = nullptr;
+        this->cs_ = nullptr;
 
         this->enableCollisionCallback();
Index: code/branches/cpp11_v3/src/modules/hover/TimeHUD.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/hover/TimeHUD.cc	(revision 11064)
+++ code/branches/cpp11_v3/src/modules/hover/TimeHUD.cc	(revision 11065)
@@ -47,5 +47,5 @@
         this->time_ = 0.0f;
         this->running_ = false;
-        this->hoverGame_ = 0;
+        this->hoverGame_ = nullptr;
         setRunning(true);
     }
@@ -98,5 +98,5 @@
         else
         {
-            this->hoverGame_ = 0;
+            this->hoverGame_ = nullptr;
         }
     }
Index: code/branches/cpp11_v3/src/modules/hover/TimeHUD.h
===================================================================
--- code/branches/cpp11_v3/src/modules/hover/TimeHUD.h	(revision 11064)
+++ code/branches/cpp11_v3/src/modules/hover/TimeHUD.h	(revision 11065)
@@ -45,6 +45,6 @@
             TimeHUD(Context* context);
 
-            virtual void tick(float dt);
-            virtual void changedOwner();
+            virtual void tick(float dt) override;
+            virtual void changedOwner() override;
 
             /// sets if the clock is running
Index: code/branches/cpp11_v3/src/modules/overlays/hud/HUDEnemyShieldBar.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/overlays/hud/HUDEnemyShieldBar.cc	(revision 11064)
+++ code/branches/cpp11_v3/src/modules/overlays/hud/HUDEnemyShieldBar.cc	(revision 11065)
@@ -41,5 +41,5 @@
 
         this->setConfigValues();
-        this->owner_ = NULL;
+        this->owner_ = nullptr;
     }
 
@@ -62,5 +62,5 @@
     void HUDEnemyShieldBar::updateTarget()
     {
-        Pawn* pawn = NULL;
+        Pawn* pawn = nullptr;
         if (this->owner_ && this->useEnemyBar_)
         {
@@ -73,9 +73,9 @@
             // Don't show the EnemyShieldBar if the pawn is invisible
             if (pawn && !pawn->isVisible())
-                pawn = NULL;
+                pawn = nullptr;
         }
         // Set the pawn as owner of the EnemyShieldBar
         this->setShieldBarOwner(pawn);
-        this->setVisible(pawn != NULL);
+        this->setVisible(pawn != nullptr);
     }
 
Index: code/branches/cpp11_v3/src/modules/overlays/hud/HUDEnemyShieldBar.h
===================================================================
--- code/branches/cpp11_v3/src/modules/overlays/hud/HUDEnemyShieldBar.h	(revision 11064)
+++ code/branches/cpp11_v3/src/modules/overlays/hud/HUDEnemyShieldBar.h	(revision 11065)
@@ -45,7 +45,7 @@
 
             void setConfigValues();
-            virtual void tick(float dt);
+            virtual void tick(float dt) override;
 
-            void changedOwner();
+            virtual void changedOwner() override;
 
         private:
Index: code/branches/cpp11_v3/src/modules/overlays/hud/HUDRocketFuelBar.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/overlays/hud/HUDRocketFuelBar.cc	(revision 11064)
+++ code/branches/cpp11_v3/src/modules/overlays/hud/HUDRocketFuelBar.cc	(revision 11065)
@@ -40,5 +40,5 @@
         RegisterObject(HUDRocketFuelBar);
 
-        this->owner_ = NULL;
+        this->owner_ = nullptr;
     }
 
Index: code/branches/cpp11_v3/src/modules/overlays/hud/HUDRocketFuelBar.h
===================================================================
--- code/branches/cpp11_v3/src/modules/overlays/hud/HUDRocketFuelBar.h	(revision 11064)
+++ code/branches/cpp11_v3/src/modules/overlays/hud/HUDRocketFuelBar.h	(revision 11065)
@@ -49,6 +49,6 @@
         virtual ~HUDRocketFuelBar();
 
-        virtual void tick(float dt);
-        virtual void changedOwner();
+        virtual void tick(float dt) override;
+        virtual void changedOwner() override;
 
     private:
Index: code/branches/cpp11_v3/src/modules/overlays/hud/HUDShieldBar.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/overlays/hud/HUDShieldBar.cc	(revision 11064)
+++ code/branches/cpp11_v3/src/modules/overlays/hud/HUDShieldBar.cc	(revision 11065)
@@ -41,5 +41,5 @@
         RegisterObject(HUDShieldBar);
 
-        this->owner_ = NULL;
+        this->owner_ = nullptr;
     }
 
Index: code/branches/cpp11_v3/src/modules/overlays/hud/HUDShieldBar.h
===================================================================
--- code/branches/cpp11_v3/src/modules/overlays/hud/HUDShieldBar.h	(revision 11064)
+++ code/branches/cpp11_v3/src/modules/overlays/hud/HUDShieldBar.h	(revision 11065)
@@ -49,6 +49,6 @@
         virtual ~HUDShieldBar();
 
-        virtual void tick(float dt);
-        virtual void changedOwner();
+        virtual void tick(float dt) override;
+        virtual void changedOwner() override;
 
         inline void setShieldBarOwner(Pawn* owner)
Index: code/branches/cpp11_v3/src/modules/overlays/hud/HUDWeapon.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/overlays/hud/HUDWeapon.cc	(revision 11064)
+++ code/branches/cpp11_v3/src/modules/overlays/hud/HUDWeapon.cc	(revision 11065)
@@ -76,5 +76,5 @@
         if (!weapon_)
         {
-            // TODO: destroy this HUD id the Weapon does no more exist. (Wehen the weak pointer is NULL)
+            // TODO: destroy this HUD id the Weapon does no more exist. (Wehen the weak pointer is null)
         }
     }    
@@ -114,8 +114,8 @@
         bool visible = this->isVisible();
 
-        for (std::vector<WeakPtr<HUDWeaponMode> >::iterator it = hudWeaponModes_.begin(); it != hudWeaponModes_.end(); ++it)
-        {
-            (*it)->changedVisibility(); //inform all Child Overlays that our visibility has changed
-            (*it)->setVisible(visible);
+        for (HUDWeaponMode* hudWeaponMode : hudWeaponModes_)
+        {
+            hudWeaponMode->changedVisibility(); //inform all Child Overlays that our visibility has changed
+            hudWeaponMode->setVisible(visible);
         }
     }
@@ -154,5 +154,5 @@
     void HUDWeapon::createHUDChilds()
     {
-        if (weapon_ == NULL)
+        if (weapon_ == nullptr)
         {
             return;
@@ -161,5 +161,5 @@
         int positionIndex = 0;
 
-        for (std::multimap<unsigned int, WeaponMode*>::const_iterator it = weapon_->getAllWeaponmodes().begin(); it != weapon_->getAllWeaponmodes().end(); ++it)
+        for (const auto& mapEntry : weapon_->getAllWeaponmodes())
         {
             HUDWeaponMode* hudWeaponMode = new HUDWeaponMode(this->getContext());
@@ -167,5 +167,5 @@
             hudWeaponMode->setOverlayGroup(this->getOverlayGroup());
             hudWeaponMode->setVisible(this->isVisible());
-            hudWeaponMode->setWeaponMode(it->second);
+            hudWeaponMode->setWeaponMode(mapEntry.second);
             hudWeaponMode->setWeaponIndex(this->weaponIndex_);                    
             hudWeaponMode->setAspectCorrection(false);
@@ -182,10 +182,10 @@
         int positionIndex = 0;
 
-        for (std::vector<WeakPtr<HUDWeaponMode> >::iterator it = hudWeaponModes_.begin(); it != hudWeaponModes_.end(); ++it)
-        {
-            (*it)->setPositionOffset(this->positionOffset_);
-            (*it)->setWeaponModeIndex(positionIndex);
-            (*it)->setWeaponIndex(this->weaponIndex_);
-            (*it)->setWeaponModeHUDActualSize(this->weaponModeHUDActualSize_);
+        for (HUDWeaponMode* hudWeaponMode : hudWeaponModes_)
+        {
+            hudWeaponMode->setPositionOffset(this->positionOffset_);
+            hudWeaponMode->setWeaponModeIndex(positionIndex);
+            hudWeaponMode->setWeaponIndex(this->weaponIndex_);
+            hudWeaponMode->setWeaponModeHUDActualSize(this->weaponModeHUDActualSize_);
 
             ++ positionIndex;
@@ -195,7 +195,7 @@
     void HUDWeapon::destroyHUDChilds()
     {
-        for (std::vector<WeakPtr<HUDWeaponMode> >::iterator it = hudWeaponModes_.begin(); it != hudWeaponModes_.end(); ++it)
-        {
-            (*it)->destroy();
+        for (HUDWeaponMode* hudWeaponMode : hudWeaponModes_)
+        {
+            hudWeaponMode->destroy();
         } 
 
@@ -205,5 +205,5 @@
     void HUDWeapon::updateSize()
     {
-        if (weapon_ != NULL)
+        if (weapon_ != nullptr)
         {
             this->setSize(Vector2(weaponModeHUDActualSize_.x,weaponModeHUDActualSize_.y*weapon_->getAllWeaponmodes().size()));
@@ -214,5 +214,5 @@
     void HUDWeapon::updatePosition()
     {
-        if (weapon_ != NULL)
+        if (weapon_ != nullptr)
         {
             this->setPosition(Vector2(weaponModeHUDActualSize_.x*weaponIndex_,0.0f) + this->positionOffset_);
Index: code/branches/cpp11_v3/src/modules/overlays/hud/HUDWeapon.h
===================================================================
--- code/branches/cpp11_v3/src/modules/overlays/hud/HUDWeapon.h	(revision 11064)
+++ code/branches/cpp11_v3/src/modules/overlays/hud/HUDWeapon.h	(revision 11065)
@@ -55,12 +55,12 @@
         virtual ~HUDWeapon();
 
-        virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
-        virtual void tick(float dt);
-        virtual void changedOwner();
-        virtual void changedOverlayGroup();
-        virtual void changedVisibility();
-        virtual void changedName();
-        virtual void positionChanged();
-        virtual void sizeChanged();
+        virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
+        virtual void tick(float dt) override;
+        virtual void changedOwner() override;
+        virtual void changedOverlayGroup() override;
+        virtual void changedVisibility() override;
+        virtual void changedName() override;
+        virtual void positionChanged() override;
+        virtual void sizeChanged() override;
 
         void setWeapon(Weapon* weapon);
@@ -94,5 +94,5 @@
         WeakPtr<Weapon> weapon_;
 
-        std::vector<WeakPtr<HUDWeaponMode> > hudWeaponModes_;
+        std::vector<WeakPtr<HUDWeaponMode>> hudWeaponModes_;
 
         Ogre::PanelOverlayElement* overlayElement_;
Index: code/branches/cpp11_v3/src/modules/overlays/hud/HUDWeaponMode.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/overlays/hud/HUDWeaponMode.cc	(revision 11064)
+++ code/branches/cpp11_v3/src/modules/overlays/hud/HUDWeaponMode.cc	(revision 11065)
@@ -126,5 +126,5 @@
             Munition* munition = this->weaponMode_->getMunition();
 
-            if (munition != NULL)
+            if (munition != nullptr)
             {
                 MunitionDeployment deployment = munition->getMunitionDeployment();
@@ -237,5 +237,5 @@
         Munition* munition = this->weaponMode_->getMunition();
 
-        if (munition != NULL)
+        if (munition != nullptr)
         {
             MunitionDeployment deployment = munition->getMunitionDeployment();
Index: code/branches/cpp11_v3/src/modules/overlays/hud/HUDWeaponMode.h
===================================================================
--- code/branches/cpp11_v3/src/modules/overlays/hud/HUDWeaponMode.h	(revision 11064)
+++ code/branches/cpp11_v3/src/modules/overlays/hud/HUDWeaponMode.h	(revision 11065)
@@ -57,11 +57,11 @@
         virtual ~HUDWeaponMode();
 
-        virtual void tick(float dt);
-        virtual void changedOwner();
-        virtual void changedOverlayGroup();
-        virtual void changedVisibility();
-        virtual void changedName();
-        virtual void positionChanged();
-        virtual void sizeChanged();
+        virtual void tick(float dt) override;
+        virtual void changedOwner() override;
+        virtual void changedOverlayGroup() override;
+        virtual void changedVisibility() override;
+        virtual void changedName() override;
+        virtual void positionChanged() override;
+        virtual void sizeChanged() override;
 
         void setWeaponMode(WeaponMode* weaponMode);
Index: code/branches/cpp11_v3/src/modules/overlays/hud/HUDWeaponSystem.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/overlays/hud/HUDWeaponSystem.cc	(revision 11064)
+++ code/branches/cpp11_v3/src/modules/overlays/hud/HUDWeaponSystem.cc	(revision 11065)
@@ -103,8 +103,8 @@
         bool visible = this->isVisible();
 
-        for (std::vector<WeakPtr<HUDWeapon> >::iterator it = hudWeapons_.begin(); it != hudWeapons_.end(); ++it)
+        for (HUDWeapon* hudWeapon : hudWeapons_)
         {
-            (*it)->changedVisibility(); //inform all Child Overlays that our visibility has changed
-            (*it)->setVisible(visible);
+            hudWeapon->changedVisibility(); //inform all Child Overlays that our visibility has changed
+            hudWeapon->setVisible(visible);
         }
     }
@@ -129,12 +129,10 @@
         {
             const std::vector<WeaponPack*>& weaponPacks = owner_->getWeaponSystem()->getAllWeaponPacks();
-
-            for (std::vector<WeaponPack*>::const_iterator itPacks = weaponPacks.begin(); itPacks != weaponPacks.end(); ++itPacks)
+            for (WeaponPack* weaponPack : weaponPacks)
             {
-                const std::vector<Weapon*>& weapons = (*itPacks)->getAllWeapons();
-
-                for (std::vector<Weapon*>::const_iterator itWeapons = weapons.begin(); itWeapons != weapons.end(); ++itWeapons)
+                const std::vector<Weapon*>& weapons = weaponPack->getAllWeapons();
+                for (Weapon* weapon : weapons)
                 {
-                    this->weapons_.push_back(*itWeapons);
+                    this->weapons_.push_back(weapon);
                 }
             }
@@ -149,5 +147,5 @@
         int positionIndex = 0;
 
-        for (std::vector<WeakPtr<Weapon> >::iterator it = weapons_.begin(); it != weapons_.end(); ++it)
+        for (Weapon* weapon : weapons_)
         {
             HUDWeapon* hudWeapon = new HUDWeapon(this->getContext());
@@ -155,5 +153,5 @@
             hudWeapon->setOverlayGroup(this->getOverlayGroup());
             hudWeapon->setVisible(this->isVisible());
-            hudWeapon->setWeapon(*it);
+            hudWeapon->setWeapon(weapon);
             hudWeapon->setAspectCorrection(false);
             hudWeapon->setPickPoint(Vector2(0.0f,0.0f));
@@ -170,9 +168,9 @@
         Vector2 offset = this->getPosition();
 
-        for (std::vector<WeakPtr<HUDWeapon> >::iterator it = hudWeapons_.begin(); it != hudWeapons_.end(); ++it)
+        for (HUDWeapon* hudWeapon : hudWeapons_)
         {
-            (*it)->setPositionOffset(offset);
-            (*it)->setWeaponIndex(positionIndex);
-            (*it)->setWeaponModeHUDActualSize(this->weaponModeHUDActualSize_);
+            hudWeapon->setPositionOffset(offset);
+            hudWeapon->setWeaponIndex(positionIndex);
+            hudWeapon->setWeaponModeHUDActualSize(this->weaponModeHUDActualSize_);
 
             ++ positionIndex;
@@ -182,7 +180,7 @@
     void HUDWeaponSystem::destroyHUDChilds()
     {
-        for (std::vector<WeakPtr<HUDWeapon> >::iterator it = hudWeapons_.begin(); it != hudWeapons_.end(); ++it)
+        for (HUDWeapon* hudWeapon : hudWeapons_)
         {
-            (*it)->destroy();
+            hudWeapon->destroy();
         } 
 
Index: code/branches/cpp11_v3/src/modules/overlays/hud/HUDWeaponSystem.h
===================================================================
--- code/branches/cpp11_v3/src/modules/overlays/hud/HUDWeaponSystem.h	(revision 11064)
+++ code/branches/cpp11_v3/src/modules/overlays/hud/HUDWeaponSystem.h	(revision 11065)
@@ -49,11 +49,11 @@
         virtual ~HUDWeaponSystem();
 
-        virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
-        virtual void changedOwner();
-        virtual void changedOverlayGroup();
-        virtual void changedVisibility();
-        virtual void changedName();
-        virtual void positionChanged();
-        virtual void sizeChanged();
+        virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
+        virtual void changedOwner() override;
+        virtual void changedOverlayGroup() override;
+        virtual void changedVisibility() override;
+        virtual void changedName() override;
+        virtual void positionChanged() override;
+        virtual void sizeChanged() override;
     protected:
         inline void setWeaponModeHUDSize(Vector2 vector)
@@ -71,6 +71,6 @@
         WeakPtr<Pawn> owner_;
 
-        std::vector<WeakPtr<Weapon> > weapons_;
-        std::vector<WeakPtr<HUDWeapon> > hudWeapons_;
+        std::vector<WeakPtr<Weapon>> weapons_;
+        std::vector<WeakPtr<HUDWeapon>> hudWeapons_;
 
         Vector2 weaponModeHUDSize_;
Index: code/branches/cpp11_v3/src/modules/pickup/items/BoostPickup.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/pickup/items/BoostPickup.cc	(revision 11064)
+++ code/branches/cpp11_v3/src/modules/pickup/items/BoostPickup.cc	(revision 11065)
@@ -106,5 +106,5 @@
 
         SpaceShip* ship = this->carrierToSpaceShipHelper();
-        if(ship == NULL) // If the PickupCarrier is no SpaceShip, then this pickup is useless and therefore is destroyed.
+        if(ship == nullptr) // If the PickupCarrier is no SpaceShip, then this pickup is useless and therefore is destroyed.
             this->Pickupable::destroy();
 
@@ -128,5 +128,5 @@
         Helper to transform the PickupCarrier to a SpaceShip, and throw an error message if the conversion fails.
     @return
-        A pointer to the SpaceShip, or NULL if the conversion failed.
+        A pointer to the SpaceShip, or nullptr if the conversion failed.
     */
     SpaceShip* BoostPickup::carrierToSpaceShipHelper(void)
@@ -135,5 +135,5 @@
         SpaceShip* ship = orxonox_cast<SpaceShip*>(carrier);
 
-        if(ship == NULL)
+        if(ship == nullptr)
         {
             orxout(internal_error, context::pickups) << "Invalid PickupCarrier in BoostPickup." << endl;
Index: code/branches/cpp11_v3/src/modules/pickup/items/BoostPickup.h
===================================================================
--- code/branches/cpp11_v3/src/modules/pickup/items/BoostPickup.h	(revision 11064)
+++ code/branches/cpp11_v3/src/modules/pickup/items/BoostPickup.h	(revision 11065)
@@ -52,7 +52,7 @@
             virtual ~BoostPickup(); //!< Destructor.
 
-            virtual void XMLPort(Element& xmlelement, orxonox::XMLPort::Mode mode); //!< Method for creating a BoostPickup object through XML.
+            virtual void XMLPort(Element& xmlelement, orxonox::XMLPort::Mode mode) override; //!< Method for creating a BoostPickup object through XML.
 
-            virtual void changedUsed(void); //!< Is called when the pickup has transited from used to unused or the other way around.
+            virtual void changedUsed(void) override; //!< Is called when the pickup has transited from used to unused or the other way around.
             inline float getBoostRefill()
                 { return this->boostRefill_; }
Index: code/branches/cpp11_v3/src/modules/pickup/items/MunitionContainer.h
===================================================================
--- code/branches/cpp11_v3/src/modules/pickup/items/MunitionContainer.h	(revision 11064)
+++ code/branches/cpp11_v3/src/modules/pickup/items/MunitionContainer.h	(revision 11065)
@@ -53,5 +53,5 @@
             virtual ~MunitionContainer();
 
-            virtual void XMLPort(Element& xmlelement, orxonox::XMLPort::Mode mode);
+            virtual void XMLPort(Element& xmlelement, orxonox::XMLPort::Mode mode) override;
 
             inline const std::string& getMunitionName() const
Index: code/branches/cpp11_v3/src/modules/pickup/items/MunitionPickup.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/pickup/items/MunitionPickup.cc	(revision 11064)
+++ code/branches/cpp11_v3/src/modules/pickup/items/MunitionPickup.cc	(revision 11065)
@@ -86,5 +86,5 @@
     void MunitionPickup::addMunitionContainer(MunitionContainer* munitionContainer)
     {
-        OrxAssert(munitionContainer != NULL, "The munitionContainer cannot be NULL.");
+        OrxAssert(munitionContainer != nullptr, "The munitionContainer cannot be nullptr.");
         this->munitionContainers_.push_back(munitionContainer);
     }
@@ -93,5 +93,5 @@
     {
         if(this->munitionContainers_.size() >= index)
-            return NULL;
+            return nullptr;
         else
             return this->munitionContainers_[index];
@@ -108,5 +108,5 @@
         Pawn* pawn = this->carrierToPawnHelper();
 
-        if(pawn == NULL) // If the PickupCarrier is no Pawn, then this pickup is useless and therefore is destroyed.
+        if(pawn == nullptr) // If the PickupCarrier is no Pawn, then this pickup is useless and therefore is destroyed.
             this->Pickupable::destroy();
 
@@ -114,16 +114,16 @@
         if(this->isUsed())
         {
-            for(std::vector<MunitionContainer*>::iterator it = this->munitionContainers_.begin(); it != this->munitionContainers_.end(); ++it)
+            for(MunitionContainer* container : this->munitionContainers_)
             {
                 //Get pointer to the appropriate munition
-                SubclassIdentifier<Munition> identifier = (*it)->getMunitionType();
+                SubclassIdentifier<Munition> identifier = container->getMunitionType();
                 Munition* munition = pawn->getMunition(&identifier);
                 if (munition)
                 {
                     // Add munition and magzines
-                    munition->addMunition((*it)->getMunitionAmount());
-                    munition->addMagazines((*it)->getMagazinesAmount());
+                    munition->addMunition(container->getMunitionAmount());
+                    munition->addMagazines(container->getMagazinesAmount());
                 }
-                (*it)->destroy();
+                container->destroy();
             }
             // This will destroy the pickp
@@ -140,5 +140,5 @@
         Helper to transform the PickupCarrier to a Pawn, and throw an error message if the conversion fails.
     @return
-        A pointer to the Pawn, or NULL if the conversion failed.
+        A pointer to the Pawn, or nullptr if the conversion failed.
     */
     Pawn* MunitionPickup::carrierToPawnHelper(void)
@@ -147,5 +147,5 @@
         Pawn* pawn = orxonox_cast<Pawn*>(carrier);
 
-        if(pawn == NULL)
+        if(pawn == nullptr)
         {
             orxout(internal_error, context::pickups) << "Invalid PickupCarrier in MunitionPickup." << endl;
Index: code/branches/cpp11_v3/src/modules/pickup/items/MunitionPickup.h
===================================================================
--- code/branches/cpp11_v3/src/modules/pickup/items/MunitionPickup.h	(revision 11064)
+++ code/branches/cpp11_v3/src/modules/pickup/items/MunitionPickup.h	(revision 11065)
@@ -59,7 +59,7 @@
             virtual ~MunitionPickup(); //!< Destructor.
 
-            virtual void XMLPort(Element& xmlelement, orxonox::XMLPort::Mode mode); //!< Method for creating a MunitionPickup object through XML.
+            virtual void XMLPort(Element& xmlelement, orxonox::XMLPort::Mode mode) override; //!< Method for creating a MunitionPickup object through XML.
 
-            virtual void changedUsed(void); //!< Is called when the pickup has transited from used to unused or the other way around.
+            virtual void changedUsed(void) override; //!< Is called when the pickup has transited from used to unused or the other way around.
 
             void addMunitionContainer(MunitionContainer* munitionContainer);
Index: code/branches/cpp11_v3/src/modules/weapons/projectiles/MineProjectile.cc
===================================================================
--- code/branches/cpp11_v3/src/modules/weapons/projectiles/MineProjectile.cc	(revision 11064)
+++ code/branches/cpp11_v3/src/modules/weapons/projectiles/MineProjectile.cc	(revision 11065)
@@ -112,5 +112,5 @@
         modelRing4_->yaw(Degree(270));
 
-        emitter_ = NULL;
+        emitter_ = nullptr;
 
         if (GameMode::isMaster())
@@ -217,10 +217,10 @@
             {
                 // Damage all pawns within the damage radius
-                for (ObjectList<Pawn>::iterator it = ObjectList<Pawn>().begin(); it; ++it)
+                for (Pawn* pawn : ObjectList<Pawn>())
                 {
-                    Vector3 distanceVector = it->getWorldPosition()-this->getWorldPosition();
+                    Vector3 distanceVector = pawn->getWorldPosition()-this->getWorldPosition();
                     if(distanceVector.length()< damageRadius_)
                     {
-                        it->hit(this->getShooter(), it->getWorldPosition(), NULL, this->getDamage(), this->getHealthDamage(), this->getShieldDamage());
+                        pawn->hit(this->getShooter(), pawn->getWorldPosition(), nullptr, this->getDamage(), this->getHealthDamage(), this->getShieldDamage());
                     }
                 }
Index: code/branches/cpp11_v3/src/modules/weapons/projectiles/MineProjectile.h
===================================================================
--- code/branches/cpp11_v3/src/modules/weapons/projectiles/MineProjectile.h	(revision 11064)
+++ code/branches/cpp11_v3/src/modules/weapons/projectiles/MineProjectile.h	(revision 11065)
@@ -57,5 +57,5 @@
             virtual ~MineProjectile();
 
-            virtual void XMLEventPort(Element& xmlelement, XMLPort::Mode mode);
+            virtual void XMLEventPort(Element& xmlelement, XMLPort::Mode mode) override;
 
             void setMaxTimeUntilExplosion(float maxTimeUntilExplosion);
Index: code/branches/cpp11_v3/src/modules/weapons/weaponmodes/MineGun.h
===================================================================
--- code/branches/cpp11_v3/src/modules/weapons/weaponmodes/MineGun.h	(revision 11064)
+++ code/branches/cpp11_v3/src/modules/weapons/weaponmodes/MineGun.h	(revision 11065)
@@ -59,6 +59,6 @@
             virtual ~MineGun();
 
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
-            virtual void fire();
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
+            virtual void fire() override;
 
             inline float getMaxTimeUntilExplosion() const
Index: code/branches/cpp11_v3/src/orxonox/controllers/ActionpointController.cc
===================================================================
--- code/branches/cpp11_v3/src/orxonox/controllers/ActionpointController.cc	(revision 11064)
+++ code/branches/cpp11_v3/src/orxonox/controllers/ActionpointController.cc	(revision 11065)
@@ -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/branches/cpp11_v3/src/orxonox/controllers/ActionpointController.h
===================================================================
--- code/branches/cpp11_v3/src/orxonox/controllers/ActionpointController.h	(revision 11064)
+++ code/branches/cpp11_v3/src/orxonox/controllers/ActionpointController.h	(revision 11065)
@@ -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/branches/cpp11_v3/src/orxonox/controllers/CommonController.cc
===================================================================
--- code/branches/cpp11_v3/src/orxonox/controllers/CommonController.cc	(revision 11064)
+++ code/branches/cpp11_v3/src/orxonox/controllers/CommonController.cc	(revision 11065)
@@ -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/branches/cpp11_v3/src/orxonox/controllers/DivisionController.cc
===================================================================
--- code/branches/cpp11_v3/src/orxonox/controllers/DivisionController.cc	(revision 11064)
+++ code/branches/cpp11_v3/src/orxonox/controllers/DivisionController.cc	(revision 11065)
@@ -40,15 +40,15 @@
         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();
Index: code/branches/cpp11_v3/src/orxonox/controllers/DivisionController.h
===================================================================
--- code/branches/cpp11_v3/src/orxonox/controllers/DivisionController.h	(revision 11064)
+++ code/branches/cpp11_v3/src/orxonox/controllers/DivisionController.h	(revision 11065)
@@ -51,15 +51,15 @@
 
             //----[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/branches/cpp11_v3/src/orxonox/controllers/FightingController.cc
===================================================================
--- code/branches/cpp11_v3/src/orxonox/controllers/FightingController.cc	(revision 11064)
+++ code/branches/cpp11_v3/src/orxonox/controllers/FightingController.cc	(revision 11065)
@@ -238,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;
             }
@@ -259,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
@@ -335,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++)
                     {
@@ -356,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/branches/cpp11_v3/src/orxonox/controllers/FightingController.h
===================================================================
--- code/branches/cpp11_v3/src/orxonox/controllers/FightingController.h	(revision 11064)
+++ code/branches/cpp11_v3/src/orxonox/controllers/FightingController.h	(revision 11065)
@@ -72,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_;
@@ -97,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/branches/cpp11_v3/src/orxonox/controllers/FlyingController.cc
===================================================================
--- code/branches/cpp11_v3/src/orxonox/controllers/FlyingController.cc	(revision 11064)
+++ code/branches/cpp11_v3/src/orxonox/controllers/FlyingController.cc	(revision 11065)
@@ -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/branches/cpp11_v3/src/orxonox/controllers/FlyingController.h
===================================================================
--- code/branches/cpp11_v3/src/orxonox/controllers/FlyingController.h	(revision 11064)
+++ code/branches/cpp11_v3/src/orxonox/controllers/FlyingController.h	(revision 11065)
@@ -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/branches/cpp11_v3/src/orxonox/controllers/MasterController.cc
===================================================================
--- code/branches/cpp11_v3/src/orxonox/controllers/MasterController.cc	(revision 11064)
+++ code/branches/cpp11_v3/src/orxonox/controllers/MasterController.cc	(revision 11065)
@@ -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/branches/cpp11_v3/src/orxonox/controllers/MasterController.h
===================================================================
--- code/branches/cpp11_v3/src/orxonox/controllers/MasterController.h	(revision 11064)
+++ code/branches/cpp11_v3/src/orxonox/controllers/MasterController.h	(revision 11065)
@@ -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/branches/cpp11_v3/src/orxonox/controllers/SectionController.cc
===================================================================
--- code/branches/cpp11_v3/src/orxonox/controllers/SectionController.cc	(revision 11064)
+++ code/branches/cpp11_v3/src/orxonox/controllers/SectionController.cc	(revision 11065)
@@ -40,6 +40,6 @@
         this->setFormationMode(FormationMode::FINGER4);
 
-        this->myWingman_ = 0;
-        this->myDivisionLeader_ = 0;
+        this->myWingman_ = nullptr;
+        this->myDivisionLeader_ = nullptr;
         this->bFirstAction_ = true;
 
@@ -48,8 +48,8 @@
     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();
@@ -117,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)
@@ -133,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; 
                         }
@@ -212,27 +212,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;
             }
@@ -244,5 +244,5 @@
                 return closestLeader;
         }
-        return 0;
+        return nullptr;
     }
 
Index: code/branches/cpp11_v3/src/orxonox/controllers/SectionController.h
===================================================================
--- code/branches/cpp11_v3/src/orxonox/controllers/SectionController.h	(revision 11064)
+++ code/branches/cpp11_v3/src/orxonox/controllers/SectionController.h	(revision 11065)
@@ -52,7 +52,7 @@
                 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();
@@ -61,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/branches/cpp11_v3/src/orxonox/controllers/WingmanController.cc
===================================================================
--- code/branches/cpp11_v3/src/orxonox/controllers/WingmanController.cc	(revision 11064)
+++ code/branches/cpp11_v3/src/orxonox/controllers/WingmanController.cc	(revision 11065)
@@ -39,5 +39,5 @@
     {
         RegisterObject(WingmanController);
-        this->myLeader_ = 0;
+        this->myLeader_ = nullptr;
         this->bFirstAction_ = true;
 
@@ -46,8 +46,8 @@
     WingmanController::~WingmanController()
     {
-        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();
@@ -170,28 +170,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()))
-            {
-                closestLeader = *it;
+            float distance = CommonController::distance (controller->getControllableEntity(), this->getControllableEntity());
+            if (distance < minDistance && !(controller->hasWingman()))
+            {
+                closestLeader = controller;
                 minDistance = distance;
             }
@@ -207,5 +207,5 @@
             }
         }
-        return 0;
+        return nullptr;
     }
 
Index: code/branches/cpp11_v3/src/orxonox/controllers/WingmanController.h
===================================================================
--- code/branches/cpp11_v3/src/orxonox/controllers/WingmanController.h	(revision 11064)
+++ code/branches/cpp11_v3/src/orxonox/controllers/WingmanController.h	(revision 11065)
@@ -51,7 +51,7 @@
             
             //----[orxonox demanded functions]----
-                virtual bool hasWingman()
+                virtual bool hasWingman() override
                     { return false; }
-                virtual bool hasFollower()
+                virtual bool hasFollower() override
                     { return false; }
             //----[/orxonox demanded functions]----
@@ -63,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();
Index: code/branches/cpp11_v3/src/orxonox/weaponsystem/Munition.cc
===================================================================
--- code/branches/cpp11_v3/src/orxonox/weaponsystem/Munition.cc	(revision 11064)
+++ code/branches/cpp11_v3/src/orxonox/weaponsystem/Munition.cc	(revision 11065)
@@ -345,5 +345,5 @@
             std::map<WeaponMode*, Magazine*>::iterator it;
 
-            // If the pointer to the weapon mode whose magazine got munition added to is NULL, then set the iterator to the beginning of the map
+            // If the pointer to the weapon mode whose magazine got munition added to is nullptr, then set the iterator to the beginning of the map
             // Otherwise set it to the next weapon mode
             if (lastFilledWeaponMode_ == nullptr)
Index: code/branches/cpp11_v3/src/orxonox/weaponsystem/ReplenishingMunition.h
===================================================================
--- code/branches/cpp11_v3/src/orxonox/weaponsystem/ReplenishingMunition.h	(revision 11064)
+++ code/branches/cpp11_v3/src/orxonox/weaponsystem/ReplenishingMunition.h	(revision 11065)
@@ -52,7 +52,7 @@
         public:
             ReplenishingMunition(Context* context);
-            virtual ~ReplenishingMunition() {}
+            virtual ~ReplenishingMunition() = default;
 
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
             
             float getProgress();
Index: code/branches/cpp11_v3/src/orxonox/worldentities/Actionpoint.h
===================================================================
--- code/branches/cpp11_v3/src/orxonox/worldentities/Actionpoint.h	(revision 11064)
+++ code/branches/cpp11_v3/src/orxonox/worldentities/Actionpoint.h	(revision 11065)
@@ -92,7 +92,7 @@
         public:
             Actionpoint(Context* context);
-            virtual ~Actionpoint() {}
+            virtual ~Actionpoint() = default;
 
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
 
             /** @brief Decides what AI will do. @param val action to execute */
Index: code/branches/cpp11_v3/src/orxonox/worldentities/ExplosionPart.cc
===================================================================
--- code/branches/cpp11_v3/src/orxonox/worldentities/ExplosionPart.cc	(revision 11064)
+++ code/branches/cpp11_v3/src/orxonox/worldentities/ExplosionPart.cc	(revision 11065)
@@ -47,6 +47,6 @@
         this->effect2_ = "";
         this->model_= new Model(this->getContext());
-        this->effect1Particle_= NULL;
-        this->effect2Particle_= NULL;
+        this->effect1Particle_= nullptr;
+        this->effect2Particle_= nullptr;
         this->explosionEntity_ = new MovableEntity(this->getContext());
         this->posOffset_ = Vector3::ZERO;
Index: code/branches/cpp11_v3/src/orxonox/worldentities/ExplosionPart.h
===================================================================
--- code/branches/cpp11_v3/src/orxonox/worldentities/ExplosionPart.h	(revision 11064)
+++ code/branches/cpp11_v3/src/orxonox/worldentities/ExplosionPart.h	(revision 11065)
@@ -51,5 +51,6 @@
             ExplosionPart(Context* context);
             ~ExplosionPart();
-            void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
+
             void Explode();
             void stop();
