Index: code/branches/FICN/src/orxonox/objects/Ambient.cc
===================================================================
--- code/branches/FICN/src/orxonox/objects/Ambient.cc	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/Ambient.cc	(revision 708)
@@ -26,12 +26,16 @@
  */
 
+#include <vector>
+
 #include <OgreSceneManager.h>
-#include <string>
 
+#include "tinyxml/tinyxml.h"
+#include "misc/Tokenizer.h"
+#include "misc/String2Number.h"
+#include "misc/ColourValue.h"
+#include "misc/String.h"
+#include "../core/Debug.h"
+#include "../core/CoreIncludes.h"
 #include "../Orxonox.h"
-#include "../../tinyxml/tinyxml.h"
-#include "../../misc/Tokenizer.h"
-#include "../../misc/String2Number.h"
-#include "../core/Debug.h"
 
 #include "Ambient.h"
@@ -57,5 +61,5 @@
     	{
 
-	    	std::vector<std::string> colourvalues = tokenize(xmlElem->Attribute("colourvalue"),",");
+	    	std::vector<String> colourvalues = tokenize(xmlElem->Attribute("colourvalue"),",");
 	    	float r, g, b;
     	 	String2Number<float>(r, colourvalues[0]);
Index: code/branches/FICN/src/orxonox/objects/Ambient.h
===================================================================
--- code/branches/FICN/src/orxonox/objects/Ambient.h	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/Ambient.h	(revision 708)
@@ -2,6 +2,7 @@
 #define _Ambient_H__
 
+#include "../OrxonoxPrereqs.h"
+
 #include "BaseObject.h"
-#include "../../tinyxml/tinyxml.h"
 
 namespace orxonox
Index: code/branches/FICN/src/orxonox/objects/BaseObject.cc
===================================================================
--- code/branches/FICN/src/orxonox/objects/BaseObject.cc	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/BaseObject.cc	(revision 708)
@@ -30,4 +30,7 @@
     @brief Implementation of the BaseObject class.
 */
+
+#include "tinyxml/tinyxml.h"
+#include "../core/CoreIncludes.h"
 
 #include "BaseObject.h"
Index: code/branches/FICN/src/orxonox/objects/BaseObject.h
===================================================================
--- code/branches/FICN/src/orxonox/objects/BaseObject.h	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/BaseObject.h	(revision 708)
@@ -9,6 +9,7 @@
 #define _BaseObject_H__
 
-#include "../core/CoreIncludes.h"
-#include "tinyxml/tinyxml.h"
+#include "../OrxonoxPrereqs.h"
+
+#include "../core/OrxonoxClass.h"
 
 namespace orxonox
Index: code/branches/FICN/src/orxonox/objects/BillboardSet.cc
===================================================================
--- code/branches/FICN/src/orxonox/objects/BillboardSet.cc	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/BillboardSet.cc	(revision 708)
@@ -28,6 +28,11 @@
 #include <sstream>
 
+#include <OgreSceneManager.h>
+
+#include "../Orxonox.h"
+#include "misc/Vector3.h"
+#include "misc/ColourValue.h"
+
 #include "BillboardSet.h"
-#include "../Orxonox.h"
 
 namespace orxonox
@@ -40,5 +45,5 @@
     }
 
-    void BillboardSet::setBillboardSet(const std::string& file, const Ogre::ColourValue& colour, int count, const Ogre::Vector3& position)
+    void BillboardSet::setBillboardSet(const String& file, const ColourValue& colour, int count, const Vector3& position)
     {
         std::ostringstream name;
Index: code/branches/FICN/src/orxonox/objects/BillboardSet.h
===================================================================
--- code/branches/FICN/src/orxonox/objects/BillboardSet.h	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/BillboardSet.h	(revision 708)
@@ -2,7 +2,12 @@
 #define _BillboardSet_H__
 
-#include <string>
+#include <OgreBillboardSet.h>
 
-#include "OgreBillboardSet.h"
+#include "../OrxonoxPrereqs.h"
+
+#include "misc/String.h"
+#include "../core/CoreIncludes.h"
+#include "misc/ColourValue.h"
+#include "misc/Vector3.h"
 
 namespace orxonox
@@ -13,10 +18,10 @@
             BillboardSet();
             ~BillboardSet();
-            void setBillboardSet(const std::string& file, const Ogre::ColourValue& colour = Ogre::ColourValue(1.0, 1.0, 1.0), int count = 1, const Ogre::Vector3& position = Ogre::Vector3::ZERO);
+            void setBillboardSet(const String& file, const ColourValue& colour = ColourValue(1.0, 1.0, 1.0), int count = 1, const Vector3& position = Vector3::ZERO);
 
             inline Ogre::BillboardSet* getBillboardSet()
                 { return this->billboardSet_; }
 
-            inline const std::string& getName() const
+            inline const String& getName() const
                 { return this->billboardSet_->getName(); }
 
Index: code/branches/FICN/src/orxonox/objects/Camera.cc
===================================================================
--- code/branches/FICN/src/orxonox/objects/Camera.cc	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/Camera.cc	(revision 708)
@@ -3,13 +3,15 @@
 #include <OgreRoot.h>
 #include <OgreRenderWindow.h>
+#include <OgreViewport.h>
 
-#include <string>
-
+#include "tinyxml/tinyxml.h"
+#include "misc/Tokenizer.h"
+#include "misc/String2Number.h"
+#include "misc/Vector3.h"
+#include "misc/String.h"
+#include "../core/Debug.h"
+#include "../core/CoreIncludes.h"
 #include "../Orxonox.h"
 #include "../GraphicsEngine.h"
-#include "../../tinyxml/tinyxml.h"
-#include "../../misc/Tokenizer.h"
-#include "../../misc/String2Number.h"
-#include "../core/Debug.h"
 
 #include "Camera.h"
@@ -36,13 +38,13 @@
         //    <Camera name="Camera" pos="0,0,-250" lookat="0,0,0" />
 
-        std::string name = xmlElem->Attribute("name");
-        std::string pos = xmlElem->Attribute("pos");
-        std::string lookat = xmlElem->Attribute("lookat");
+        String name = xmlElem->Attribute("name");
+        String pos = xmlElem->Attribute("pos");
+        String lookat = xmlElem->Attribute("lookat");
 
         Ogre::Camera *cam = mgr->createCamera(name);
 
         float x, y, z;
-        std::vector<std::string> posVec = tokenize(xmlElem->Attribute("pos"),",");
-         String2Number<float>(x, posVec[0]);
+        std::vector<String> posVec = tokenize(xmlElem->Attribute("pos"),",");
+        String2Number<float>(x, posVec[0]);
         String2Number<float>(y, posVec[1]);
         String2Number<float>(z, posVec[2]);
@@ -57,5 +59,5 @@
         cam->lookAt(Vector3(x,y,z));
 
-        std::string node = xmlElem->Attribute("node");
+        String node = xmlElem->Attribute("node");
 
         Ogre::SceneNode* sceneNode = (Ogre::SceneNode*)mgr->getRootSceneNode()->createChildSceneNode(node); //getChild(node);
Index: code/branches/FICN/src/orxonox/objects/Camera.h
===================================================================
--- code/branches/FICN/src/orxonox/objects/Camera.h	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/Camera.h	(revision 708)
@@ -2,6 +2,7 @@
 #define _Camera_H__
 
+#include "../OrxonoxPrereqs.h"
+
 #include "BaseObject.h"
-#include "../../tinyxml/tinyxml.h"
 
 namespace orxonox
Index: code/branches/FICN/src/orxonox/objects/Explosion.cc
===================================================================
--- code/branches/FICN/src/orxonox/objects/Explosion.cc	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/Explosion.cc	(revision 708)
@@ -26,6 +26,14 @@
  */
 
+#include <OgreParticleSystem.h>
+#include <OgreSceneManager.h>
+#include <OgreSceneNode.h>
+
+#include "../core/CoreIncludes.h"
+#include "misc/ColourValue.h"
+#include "../Orxonox.h"
+#include "../particle/ParticleInterface.h"
+
 #include "Explosion.h"
-#include "../Orxonox.h"
 
 namespace orxonox
@@ -46,5 +54,5 @@
             Vector3 position = owner->getNode()->getWorldPosition();
 
-            this->particle_ = new particle::ParticleInterface(Orxonox::getSingleton()->getSceneManager(), "explosion" + this->getName(), "Orxonox/treibwerk");
+            this->particle_ = new ParticleInterface(Orxonox::getSingleton()->getSceneManager(), "explosion" + this->getName(), "Orxonox/treibwerk");
             this->particle_->getParticleSystem()->setParameter("local_space", "true");
             this->particle_->newEmitter();
Index: code/branches/FICN/src/orxonox/objects/Explosion.h
===================================================================
--- code/branches/FICN/src/orxonox/objects/Explosion.h	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/Explosion.h	(revision 708)
@@ -2,5 +2,6 @@
 #define _Explosion_H__
 
-#include "../particle/ParticleInterface.h"
+#include "../OrxonoxPrereqs.h"
+
 #include "WorldEntity.h"
 #include "Timer.h"
@@ -18,5 +19,5 @@
             Timer<Explosion> destroyTimer_;
             float lifetime_;
-            particle::ParticleInterface* particle_;
+            ParticleInterface* particle_;
     };
 }
Index: code/branches/FICN/src/orxonox/objects/Fighter.cc
===================================================================
--- code/branches/FICN/src/orxonox/objects/Fighter.cc	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/Fighter.cc	(revision 708)
@@ -26,16 +26,19 @@
  */
 
-#include "Fighter.h"
-
-#include "../../tinyxml/tinyxml.h"
-#include "../../misc/String2Number.h"
+#include <OgreCamera.h>
+#include <OgreRenderWindow.h>
+#include <OgreSceneManager.h>
+#include <OgreSceneNode.h>
+
+#include "tinyxml/tinyxml.h"
+#include "misc/String2Number.h"
+#include "misc/String.h"
 #include "../core/CoreIncludes.h"
 #include "../Orxonox.h"
+#include "../particle/ParticleInterface.h"
 #include "weapon_system/AmmunitionDump.h"
 #include "weapon_system/BarrelGun.h"
 
-#include "OgreCamera.h"
-#include <OgreRenderWindow.h>
-#include <string>
+#include "Fighter.h"
 
 namespace orxonox
@@ -141,5 +144,5 @@
 #endif
 
-        tt = new particle::ParticleInterface(Orxonox::getSingleton()->getSceneManager(),"twinthruster" + this->getName(),"Orxonox/engineglow");
+        tt = new ParticleInterface(Orxonox::getSingleton()->getSceneManager(),"twinthruster" + this->getName(),"Orxonox/engineglow");
         tt->getParticleSystem()->setParameter("local_space","true");
         tt->newEmitter();
@@ -171,8 +174,8 @@
         if (xmlElem->Attribute("forward") && xmlElem->Attribute("rotateupdown") && xmlElem->Attribute("rotaterightleft") && xmlElem->Attribute("looprightleft"))
         {
-            std::string forwardStr = xmlElem->Attribute("forward");
-            std::string rotateupdownStr = xmlElem->Attribute("rotateupdown");
-            std::string rotaterightleftStr = xmlElem->Attribute("rotaterightleft");
-            std::string looprightleftStr = xmlElem->Attribute("looprightleft");
+            String forwardStr = xmlElem->Attribute("forward");
+            String rotateupdownStr = xmlElem->Attribute("rotateupdown");
+            String rotaterightleftStr = xmlElem->Attribute("rotaterightleft");
+            String looprightleftStr = xmlElem->Attribute("looprightleft");
 
             String2Number<float>(this->maxSpeedForward_, forwardStr);
Index: code/branches/FICN/src/orxonox/objects/Fighter.h
===================================================================
--- code/branches/FICN/src/orxonox/objects/Fighter.h	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/Fighter.h	(revision 708)
@@ -2,12 +2,11 @@
 #define _Fighter_H__
 
+#include <OIS/OIS.h>
+
 #include "../OrxonoxPrereqs.h"
 
-#include <OIS/OIS.h>
-#include <string.h>
+#include "Model.h"
 
-#include "Model.h"
-#include "../../tinyxml/tinyxml.h"
-#include "../particle/ParticleInterface.h"
+class TiXmlElement; // Forward declaration
 
 namespace orxonox
@@ -45,6 +44,6 @@
             bool setMouseEventCallback_;
 
-            particle::ParticleInterface *w;
-            particle::ParticleInterface *tt;
+            ParticleInterface *w;
+            ParticleInterface *tt;
 
             AmmunitionDump* ammoDump_;
Index: code/branches/FICN/src/orxonox/objects/Light.cc
===================================================================
--- code/branches/FICN/src/orxonox/objects/Light.cc	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/Light.cc	(revision 708)
@@ -1,6 +1,9 @@
 #include <sstream>
 
+#include <OgreSceneManager.h>
+
+#include "../Orxonox.h"
+
 #include "Light.h"
-#include "../Orxonox.h"
 
 namespace orxonox
@@ -13,5 +16,5 @@
     }
 
-    void Light::setLight(Ogre::Light::LightTypes type, const Ogre::ColourValue& diffuse, const Ogre::ColourValue& specular)
+    void Light::setLight(Ogre::Light::LightTypes type, const ColourValue& diffuse, const ColourValue& specular)
     {
         std::ostringstream name;
Index: code/branches/FICN/src/orxonox/objects/Light.h
===================================================================
--- code/branches/FICN/src/orxonox/objects/Light.h	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/Light.h	(revision 708)
@@ -2,8 +2,10 @@
 #define _Light_H__
 
-#include <string>
+#include <OgreLight.h>
 
-#include "OgreLight.h"
-#include "OgreColourValue.h"
+#include "../OrxonoxPrereqs.h"
+
+#include "misc/String.h"
+#include "misc/ColourValue.h"
 
 namespace orxonox
@@ -14,10 +16,10 @@
             Light();
             ~Light();
-            void setLight(Ogre::Light::LightTypes type = Ogre::Light::LT_POINT, const Ogre::ColourValue& diffuse = Ogre::ColourValue(1.0, 1.0, 1.0), const Ogre::ColourValue& specular = Ogre::ColourValue(1.0, 1.0, 1.0));
+            void setLight(Ogre::Light::LightTypes type = Ogre::Light::LT_POINT, const ColourValue& diffuse = ColourValue(1.0, 1.0, 1.0), const ColourValue& specular = ColourValue(1.0, 1.0, 1.0));
 
             inline Ogre::Light* getLight()
                 { return this->light_; }
 
-            inline const std::string& getName() const
+            inline const String& getName() const
                 { return this->light_->getName(); }
 
Index: code/branches/FICN/src/orxonox/objects/Mesh.cc
===================================================================
--- code/branches/FICN/src/orxonox/objects/Mesh.cc	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/Mesh.cc	(revision 708)
@@ -28,6 +28,9 @@
 #include <sstream>
 
+#include <OgreSceneManager.h>
+
+#include "../Orxonox.h"
+
 #include "Mesh.h"
-#include "../Orxonox.h"
 
 namespace orxonox
@@ -40,5 +43,5 @@
     }
 
-    void Mesh::setMesh(const std::string& file)
+    void Mesh::setMesh(const String& file)
     {
         std::ostringstream name;
Index: code/branches/FICN/src/orxonox/objects/Mesh.h
===================================================================
--- code/branches/FICN/src/orxonox/objects/Mesh.h	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/Mesh.h	(revision 708)
@@ -2,7 +2,9 @@
 #define _Mesh_H__
 
-#include <string>
+#include <OgreEntity.h>
 
-#include "OgreEntity.h"
+#include "../OrxonoxPrereqs.h"
+
+#include "misc/String.h"
 
 namespace orxonox
@@ -13,10 +15,10 @@
             Mesh();
             ~Mesh();
-            void setMesh(const std::string& file);
+            void setMesh(const String& file);
 
             inline Ogre::Entity* getEntity()
                 { return this->entity_; }
 
-            inline const std::string& getName() const
+            inline const String& getName() const
                 { return this->entity_->getName(); }
 
Index: code/branches/FICN/src/orxonox/objects/Model.cc
===================================================================
--- code/branches/FICN/src/orxonox/objects/Model.cc	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/Model.cc	(revision 708)
@@ -26,12 +26,11 @@
  */
 
-#include <string>
+#include "tinyxml/tinyxml.h"
+#include "misc/Tokenizer.h"
+#include "misc/String2Number.h"
+#include "../core/CoreIncludes.h"
+#include "../Orxonox.h"
 
 #include "Model.h"
-#include "../core/CoreIncludes.h"
-#include "../Orxonox.h"
-#include "../../tinyxml/tinyxml.h"
-#include "../../misc/Tokenizer.h"
-#include "../../misc/String2Number.h"
 
 namespace orxonox
Index: code/branches/FICN/src/orxonox/objects/Model.h
===================================================================
--- code/branches/FICN/src/orxonox/objects/Model.h	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/Model.h	(revision 708)
@@ -2,10 +2,14 @@
 #define _Model_H__
 
+#include "../OrxonoxPrereqs.h"
+
 #include "WorldEntity.h"
 #include "Mesh.h"
-#include "../../tinyxml/tinyxml.h"
+
+class TiXmlElement; // Forward declaration
 
 namespace orxonox
 {
+
     class Model : public WorldEntity
     {
@@ -17,5 +21,5 @@
 
         private:
-            std::string meshSrc_;
+            String meshSrc_;
             Mesh mesh_;
             void registerAllVariables();
Index: code/branches/FICN/src/orxonox/objects/NPC.cc
===================================================================
--- code/branches/FICN/src/orxonox/objects/NPC.cc	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/NPC.cc	(revision 708)
@@ -26,7 +26,6 @@
  */
 
+#include "../core/CoreIncludes.h"
 #include "NPC.h"
-#include "../core/Iterator.h"
-#include "../core/ObjectList.h"
 
 namespace orxonox {
Index: code/branches/FICN/src/orxonox/objects/NPC.h
===================================================================
--- code/branches/FICN/src/orxonox/objects/NPC.h	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/NPC.h	(revision 708)
@@ -8,6 +8,9 @@
 #define _NPC_H__
 
-// includes
+#include "../OrxonoxPrereqs.h"
+
 #include "Model.h"
+
+class TiXmlElement; // Forward declaration
 
 namespace orxonox {
Index: code/branches/FICN/src/orxonox/objects/Projectile.cc
===================================================================
--- code/branches/FICN/src/orxonox/objects/Projectile.cc	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/Projectile.cc	(revision 708)
@@ -26,8 +26,10 @@
  */
 
-#include "Projectile.h"
 #include "../core/CoreIncludes.h"
+#include "SpaceShip.h"
 #include "Explosion.h"
 #include "Model.h"
+
+#include "Projectile.h"
 
 namespace orxonox
Index: code/branches/FICN/src/orxonox/objects/Projectile.h
===================================================================
--- code/branches/FICN/src/orxonox/objects/Projectile.h	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/Projectile.h	(revision 708)
@@ -2,11 +2,14 @@
 #define _Projectile_H__
 
+#include "../OrxonoxPrereqs.h"
+
 #include "WorldEntity.h"
 #include "BillboardSet.h"
-#include "SpaceShip.h"
 #include "Timer.h"
 
 namespace orxonox
 {
+    class SpaceShip; // Forward declaration
+
     class Projectile : public WorldEntity
     {
Index: code/branches/FICN/src/orxonox/objects/Skybox.cc
===================================================================
--- code/branches/FICN/src/orxonox/objects/Skybox.cc	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/Skybox.cc	(revision 708)
@@ -27,10 +27,11 @@
 
 #include <OgreSceneManager.h>
-#include <string>
 
+#include "tinyxml/tinyxml.h"
+//#include "misc/Tokenizer.h"
+//#include "misc/String2Number.h"
+#include "misc/String.h"
 #include "../Orxonox.h"
-#include "../../tinyxml/tinyxml.h"
-#include "../../misc/Tokenizer.h"
-#include "../../misc/String2Number.h"
+#include "../core/CoreIncludes.h"
 #include "../core/Debug.h"
 
@@ -56,5 +57,5 @@
     	if (xmlElem->Attribute("src"))
     	{
-    		std::string skyboxSrc = xmlElem->Attribute("src");
+    		String skyboxSrc = xmlElem->Attribute("src");
 	    	mgr->setSkyBox(true, skyboxSrc);
 
Index: code/branches/FICN/src/orxonox/objects/Skybox.h
===================================================================
--- code/branches/FICN/src/orxonox/objects/Skybox.h	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/Skybox.h	(revision 708)
@@ -2,6 +2,9 @@
 #define _Skybox_H__
 
+#include "../OrxonoxPrereqs.h"
+
 #include "BaseObject.h"
-#include "../../tinyxml/tinyxml.h"
+
+class TiXmlElement; // Forward declaration
 
 namespace orxonox
Index: code/branches/FICN/src/orxonox/objects/SpaceShip.cc
===================================================================
--- code/branches/FICN/src/orxonox/objects/SpaceShip.cc	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/SpaceShip.cc	(revision 708)
@@ -26,14 +26,20 @@
  */
 
+#include <OIS/OIS.h>
+#include <OgreCamera.h>
+#include <OgreRenderWindow.h>
+#include <OgreParticleSystem.h>
+#include <OgreSceneNode.h>
+
+#include "tinyxml/tinyxml.h"
+#include "misc/String2Number.h"
+#include "misc/String.h"
+#include "../core/CoreIncludes.h"
+#include "../core/Debug.h"
+#include "../Orxonox.h"
+#include "../particle/ParticleInterface.h"
+#include "Projectile.h"
+
 #include "SpaceShip.h"
-#include "Projectile.h"
-
-#include "../../tinyxml/tinyxml.h"
-#include "../../misc/String2Number.h"
-#include "../core/CoreIncludes.h"
-#include "../Orxonox.h"
-
-#include "OgreCamera.h"
-#include <OgreRenderWindow.h>
 
 namespace orxonox
@@ -134,5 +140,5 @@
 
         // START CREATING THRUSTER
-        this->tt_ = new particle::ParticleInterface(Orxonox::getSingleton()->getSceneManager(),"twinthruster" + this->getName(),"Orxonox/engineglow");
+        this->tt_ = new ParticleInterface(Orxonox::getSingleton()->getSceneManager(),"twinthruster" + this->getName(),"Orxonox/engineglow");
         this->tt_->getParticleSystem()->setParameter("local_space","true");
         this->tt_->newEmitter();
@@ -190,8 +196,8 @@
         if (xmlElem->Attribute("forward") && xmlElem->Attribute("rotateupdown") && xmlElem->Attribute("rotaterightleft") && xmlElem->Attribute("looprightleft"))
         {
-            std::string forwardStr = xmlElem->Attribute("forward");
-            std::string rotateupdownStr = xmlElem->Attribute("rotateupdown");
-            std::string rotaterightleftStr = xmlElem->Attribute("rotaterightleft");
-            std::string looprightleftStr = xmlElem->Attribute("looprightleft");
+            String forwardStr = xmlElem->Attribute("forward");
+            String rotateupdownStr = xmlElem->Attribute("rotateupdown");
+            String rotaterightleftStr = xmlElem->Attribute("rotaterightleft");
+            String looprightleftStr = xmlElem->Attribute("looprightleft");
 
             String2Number<float>(this->maxSpeedForward_, forwardStr);
@@ -206,11 +212,11 @@
         {
 
-            std::string msStr = xmlElem->Attribute("maxSpeed");
-            std::string msabsStr = xmlElem->Attribute("maxSideAndBackSpeed");
-            std::string mrStr = xmlElem->Attribute("maxRotation");
-            std::string taStr = xmlElem->Attribute("transAcc");
-            std::string raStr = xmlElem->Attribute("rotAcc");
-            std::string tdStr = xmlElem->Attribute("transDamp");
-            std::string rdStr = xmlElem->Attribute("rotDamp");
+            String msStr = xmlElem->Attribute("maxSpeed");
+            String msabsStr = xmlElem->Attribute("maxSideAndBackSpeed");
+            String mrStr = xmlElem->Attribute("maxRotation");
+            String taStr = xmlElem->Attribute("transAcc");
+            String raStr = xmlElem->Attribute("rotAcc");
+            String tdStr = xmlElem->Attribute("transDamp");
+            String rdStr = xmlElem->Attribute("rotDamp");
 
             String2Number<float>(this->maxSpeed_, msStr);
Index: code/branches/FICN/src/orxonox/objects/SpaceShip.h
===================================================================
--- code/branches/FICN/src/orxonox/objects/SpaceShip.h	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/SpaceShip.h	(revision 708)
@@ -2,15 +2,18 @@
 #define _SpaceShip_H__
 
-#include <OIS/OIS.h>
+#include <OgrePrerequisites.h>
+#include <OIS/OISMouse.h>
+
+#include "../OrxonoxPrereqs.h"
 
 #include "Model.h"
 #include "BillboardSet.h"
-#include "OgreSceneNode.h"
 
-#include "../../tinyxml/tinyxml.h"
-#include "../particle/ParticleInterface.h"
+class TiXmlElement;          // Forward declaration
 
 namespace orxonox
 {
+    class ParticleInterface; // Forward declaration
+
     class SpaceShip : public Model, public OIS::MouseListener
     {
@@ -50,5 +53,5 @@
             Ogre::SceneNode* camNode_;
 
-            particle::ParticleInterface* tt_;
+            ParticleInterface* tt_;
 
             BillboardSet redBillboard_;
Index: code/branches/FICN/src/orxonox/objects/Tickable.h
===================================================================
--- code/branches/FICN/src/orxonox/objects/Tickable.h	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/Tickable.h	(revision 708)
@@ -41,6 +41,9 @@
 #define _Tickable_H__
 
+#include <OgreFrameListener.h>
+
+#include "../OrxonoxPrereqs.h"
+
 #include "../core/CoreIncludes.h"
-#include "OgreFrameListener.h"
 
 namespace orxonox
Index: code/branches/FICN/src/orxonox/objects/Timer.h
===================================================================
--- code/branches/FICN/src/orxonox/objects/Timer.h	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/Timer.h	(revision 708)
@@ -58,6 +58,9 @@
 #define _Timer_H__
 
+#include <OgreFrameListener.h>
+
+#include "../OrxonoxPrereqs.h"
+
 #include "../core/CoreIncludes.h"
-#include "OgreFrameListener.h"
 
 namespace orxonox
Index: code/branches/FICN/src/orxonox/objects/WorldEntity.cc
===================================================================
--- code/branches/FICN/src/orxonox/objects/WorldEntity.cc	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/WorldEntity.cc	(revision 708)
@@ -26,13 +26,13 @@
  */
 
-#include <string>
 #include <sstream>
 
-#include "WorldEntity.h"
+#include "tinyxml/tinyxml.h"
+#include "misc/Tokenizer.h"
+#include "misc/String2Number.h"
+#include "misc/String.h"
 #include "../core/CoreIncludes.h"
 #include "../Orxonox.h"
-#include "../../tinyxml/tinyxml.h"
-#include "../../misc/Tokenizer.h"
-#include "../../misc/String2Number.h"
+#include "WorldEntity.h"
 
 namespace orxonox
@@ -88,5 +88,5 @@
         if (xmlElem->Attribute("position"))
         {
-            std::vector<std::string> pos = tokenize(xmlElem->Attribute("position"),",");
+            std::vector<String> pos = tokenize(xmlElem->Attribute("position"),",");
             float x, y, z;
             String2Number<float>(x, pos[0]);
@@ -98,5 +98,5 @@
         if (xmlElem->Attribute("direction"))
         {
-            std::vector<std::string> pos = tokenize(xmlElem->Attribute("direction"),",");
+            std::vector<String> pos = tokenize(xmlElem->Attribute("direction"),",");
             float x, y, z;
             String2Number<float>(x, pos[0]);
@@ -125,5 +125,5 @@
         if (xmlElem->Attribute("scale"))
         {
-            std::string scaleStr = xmlElem->Attribute("scale");
+            String scaleStr = xmlElem->Attribute("scale");
             float scale;
             String2Number<float>(scale, scaleStr);
@@ -133,5 +133,5 @@
         if (xmlElem->Attribute("rotationAxis"))
         {
-            std::vector<std::string> pos = tokenize(xmlElem->Attribute("rotationAxis"),",");
+            std::vector<String> pos = tokenize(xmlElem->Attribute("rotationAxis"),",");
             float x, y, z;
             String2Number<float>(x, pos[0]);
Index: code/branches/FICN/src/orxonox/objects/WorldEntity.h
===================================================================
--- code/branches/FICN/src/orxonox/objects/WorldEntity.h	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/WorldEntity.h	(revision 708)
@@ -5,4 +5,9 @@
 #include <OgreSceneNode.h>
 
+#include "../OrxonoxPrereqs.h"
+
+#include "misc/Vector3.h"
+#include "misc/Matrix3.h"
+#include "misc/Quaternion.h"
 #include "network/Synchronisable.h"
 #include "tinyxml/tinyxml.h"
Index: code/branches/FICN/src/orxonox/objects/weapon_system/AmmunitionDump.cc
===================================================================
--- code/branches/FICN/src/orxonox/objects/weapon_system/AmmunitionDump.cc	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/weapon_system/AmmunitionDump.cc	(revision 708)
@@ -59,5 +59,5 @@
   }
 
-  void AmmunitionDump::setDumpSize(const Ogre::String &name, int size)
+  void AmmunitionDump::setDumpSize(const String &name, int size)
   {
     if (size < 0)
@@ -70,5 +70,5 @@
 
 
-  int AmmunitionDump::store(const Ogre::String &name, int quantity)
+  int AmmunitionDump::store(const String &name, int quantity)
   {
     int id = Orxonox::getSingleton()->getBulletMgr()->getAmmunitionID(name);
@@ -87,5 +87,5 @@
 
 
-  int AmmunitionDump::getAmmunition(const Ogre::String &name, int quantity)
+  int AmmunitionDump::getAmmunition(const String &name, int quantity)
   {
     int id = Orxonox::getSingleton()->getBulletMgr()->getAmmunitionID(name);
@@ -103,5 +103,5 @@
 
 
-  int AmmunitionDump::getStockSize(const Ogre::String &name)
+  int AmmunitionDump::getStockSize(const String &name)
   {
     int id = Orxonox::getSingleton()->getBulletMgr()->getAmmunitionID(name);
Index: code/branches/FICN/src/orxonox/objects/weapon_system/AmmunitionDump.h
===================================================================
--- code/branches/FICN/src/orxonox/objects/weapon_system/AmmunitionDump.h	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/weapon_system/AmmunitionDump.h	(revision 708)
@@ -32,8 +32,9 @@
 #include <OgrePrerequisites.h>
 
-#include "orxonox/OrxonoxPrereqs.h"
+#include "../../OrxonoxPrereqs.h"
 
 #include "network/Synchronisable.h"
 //#include "../core/CoreIncludes.h"
+#include "misc/String.h"
 #include "../BaseObject.h"
 
@@ -46,11 +47,11 @@
 	  ~AmmunitionDump();
 
-    void setDumpSize(const Ogre::String &name, int size);
+    void setDumpSize(const String &name, int size);
 
-    int store(const Ogre::String &name, int quantiy);
+    int store(const String &name, int quantiy);
 
-    int getAmmunition(const Ogre::String &name, int quantity);
+    int getAmmunition(const String &name, int quantity);
 
-    int getStockSize(const Ogre::String &name);
+    int getStockSize(const String &name);
 
     virtual void loadParams(TiXmlElement* xmlElem) { BaseObject::loadParams(xmlElem); };
Index: code/branches/FICN/src/orxonox/objects/weapon_system/BarrelGun.cc
===================================================================
--- code/branches/FICN/src/orxonox/objects/weapon_system/BarrelGun.cc	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/weapon_system/BarrelGun.cc	(revision 708)
@@ -26,11 +26,10 @@
  */
 
-#include "OgreMath.h"
-#include "OgreVector3.h"
-#include "OgreStringConverter.h"
-#include "OgreSceneNode.h"
-#include "OgreEntity.h"
-#include "OgreSceneManager.h"
+#include <OgreStringConverter.h>
+#include <OgreSceneNode.h>
+#include <OgreEntity.h>
+#include <OgreSceneManager.h>
 
+#include "misc/Vector3.h"
 #include "Bullet.h"
 #include "BulletManager.h"
@@ -42,6 +41,4 @@
 
 namespace orxonox {
-  using namespace Ogre;
-
   CreateFactory(BarrelGun);
 
@@ -78,5 +75,5 @@
 
     Ogre::Entity* bulletEntity = sceneMgr_->createEntity("BulletEntity"
-          + StringConverter::toString(bulletCounter_++), "Barrel.mesh");
+      + Ogre::StringConverter::toString(bulletCounter_++), "Barrel.mesh");
 
     Vector3 speed = (temp->getOrientation() * Vector3(1, 0, 0))
@@ -106,5 +103,4 @@
 
 
-
   void BarrelGun::secondaryFire()
   {
@@ -120,5 +116,5 @@
 
     Ogre::Entity* bulletEntity = sceneMgr_->createEntity("BulletEntity"
-          + StringConverter::toString(bulletCounter_++), "Barrel.mesh");
+      + Ogre::StringConverter::toString(bulletCounter_++), "Barrel.mesh");
 
     Vector3 speed = (temp->getOrientation() * Vector3(1, 0, 0))
Index: code/branches/FICN/src/orxonox/objects/weapon_system/BarrelGun.h
===================================================================
--- code/branches/FICN/src/orxonox/objects/weapon_system/BarrelGun.h	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/weapon_system/BarrelGun.h	(revision 708)
@@ -32,5 +32,5 @@
 #include <OgrePrerequisites.h>
 
-#include "orxonox/OrxonoxPrereqs.h"
+#include "../../OrxonoxPrereqs.h"
 
 #include "BaseWeapon.h"
Index: code/branches/FICN/src/orxonox/objects/weapon_system/BaseWeapon.cc
===================================================================
--- code/branches/FICN/src/orxonox/objects/weapon_system/BaseWeapon.cc	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/weapon_system/BaseWeapon.cc	(revision 708)
@@ -26,13 +26,11 @@
  */
 
-#include "OgreMath.h"
-#include "OgreVector3.h"
-#include "OgreStringConverter.h"
-#include "OgreSceneNode.h"
-#include "OgreEntity.h"
-#include "OgreSceneManager.h"
+#include <OgreStringConverter.h>
+#include <OgreSceneNode.h>
+#include <OgreEntity.h>
+#include <OgreSceneManager.h>
 
+#include "misc/Vector3.h"
 #include "../../Orxonox.h"
-
 #include "Bullet.h"
 #include "BulletManager.h"
@@ -43,8 +41,4 @@
 
 namespace orxonox {
-  using namespace Ogre;
-  
-  //CreateFactory(BaseWeapon);
-
   float BaseWeapon::nextActionValidityPeriod_s = 0.5;
 
Index: code/branches/FICN/src/orxonox/objects/weapon_system/BaseWeapon.h
===================================================================
--- code/branches/FICN/src/orxonox/objects/weapon_system/BaseWeapon.h	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/weapon_system/BaseWeapon.h	(revision 708)
@@ -32,5 +32,5 @@
 #include <OgrePrerequisites.h>
 
-#include "orxonox/OrxonoxPrereqs.h"
+#include "../../OrxonoxPrereqs.h"
 
 #include "../Model.h"
@@ -116,6 +116,6 @@
     float primaryFiringRate_;
     float secondaryFiringRate_;
-    Ogre::Real primaryBulletSpeed_;
-    Ogre::Real secondaryBulletSpeed_;
+    Real primaryBulletSpeed_;
+    Real secondaryBulletSpeed_;
 
     int magazineSize_;
Index: code/branches/FICN/src/orxonox/objects/weapon_system/Bullet.cc
===================================================================
--- code/branches/FICN/src/orxonox/objects/weapon_system/Bullet.cc	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/weapon_system/Bullet.cc	(revision 708)
@@ -26,14 +26,7 @@
  */
 
-#include "OgreSceneNode.h"
-#include "OgreEntity.h"
-#include "OgreVector3.h"
-
 #include "Bullet.h"
 
-
 namespace orxonox {
-  using namespace Ogre;
-
   CreateFactory(Bullet);
 
Index: code/branches/FICN/src/orxonox/objects/weapon_system/Bullet.h
===================================================================
--- code/branches/FICN/src/orxonox/objects/weapon_system/Bullet.h	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/weapon_system/Bullet.h	(revision 708)
@@ -32,5 +32,5 @@
 #include <OgrePrerequisites.h>
 
-#include "orxonox/OrxonoxPrereqs.h"
+#include "../../OrxonoxPrereqs.h"
 
 #include "../Model.h"
Index: code/branches/FICN/src/orxonox/objects/weapon_system/BulletManager.cc
===================================================================
--- code/branches/FICN/src/orxonox/objects/weapon_system/BulletManager.cc	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/weapon_system/BulletManager.cc	(revision 708)
@@ -26,6 +26,4 @@
  */
 
-#include "OgreSceneNode.h"
-
 #include "BulletManager.h"
 #include "Bullet.h"
@@ -33,6 +31,4 @@
 
 namespace orxonox {
-  using namespace Ogre;
-
   CreateFactory(BulletManager);
 
@@ -86,7 +82,7 @@
   }
 
-  int BulletManager::getAmmunitionID(const Ogre::String &ammoName)
+  int BulletManager::getAmmunitionID(const String &ammoName)
   {
-    Ogre::String ammoTypes[] = { "Energy Cell", "Barrel", "Lead Shot" };
+    String ammoTypes[] = { "Energy Cell", "Barrel", "Lead Shot" };
     int ammoTypesLength = 3;
 
Index: code/branches/FICN/src/orxonox/objects/weapon_system/BulletManager.h
===================================================================
--- code/branches/FICN/src/orxonox/objects/weapon_system/BulletManager.h	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/weapon_system/BulletManager.h	(revision 708)
@@ -32,9 +32,10 @@
 #include <OgrePrerequisites.h>
 
-#include "orxonox/OrxonoxPrereqs.h"
+#include "../../OrxonoxPrereqs.h"
 
 #include "network/Synchronisable.h"
 #include "tinyxml/tinyxml.h"
 //#include "../core/CoreIncludes.h"
+#include "misc/String.h"
 #include "../BaseObject.h"
 #include "../Tickable.h"
@@ -49,5 +50,5 @@
     void addBullet(Bullet*);
 
-    int getAmmunitionID(const Ogre::String&);
+    int getAmmunitionID(const String&);
 
     int getNumberOfAmmos();
Index: code/branches/FICN/src/orxonox/objects/weapon_system/WeaponStation.cc
===================================================================
--- code/branches/FICN/src/orxonox/objects/weapon_system/WeaponStation.cc	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/weapon_system/WeaponStation.cc	(revision 708)
@@ -26,19 +26,9 @@
  */
 
-#include "OgreMath.h"
-#include "OgreVector3.h"
-#include "OgreStringConverter.h"
-#include "OgreSceneNode.h"
-#include "OgreEntity.h"
-#include "OgreSceneManager.h"
-
 #include "BaseWeapon.h"
-
 #include "WeaponStation.h"
 
 
 namespace orxonox {
-  using namespace Ogre;
-
   WeaponStation::WeaponStation(int stationSize)
         : slots_(new BaseWeapon*[stationSize]),
Index: code/branches/FICN/src/orxonox/objects/weapon_system/WeaponStation.h
===================================================================
--- code/branches/FICN/src/orxonox/objects/weapon_system/WeaponStation.h	(revision 706)
+++ code/branches/FICN/src/orxonox/objects/weapon_system/WeaponStation.h	(revision 708)
@@ -32,5 +32,5 @@
 #include <OgrePrerequisites.h>
 
-#include "orxonox/OrxonoxPrereqs.h"
+#include "../../OrxonoxPrereqs.h"
 
 
