Index: code/trunk/src/orxonox/OrxonoxPlatform.h
===================================================================
--- code/trunk/src/orxonox/OrxonoxPlatform.h	(revision 1063)
+++ code/trunk/src/orxonox/OrxonoxPlatform.h	(revision 1064)
@@ -226,10 +226,7 @@
 //#   pragma warning (disable : 4305)
 
-// disable: "<type> needs to have dll-interface to be used by clients'
+// set to level 4: "<type> needs to have dll-interface to be used by clients'
 // Happens on STL member variables which are not public therefore is ok
-// This has been dealt with in base_properties of the solution since the
-// warning primarily occurs in library header files (which are mostly
-// included before OrxonoxPlatform.h is)
-//#   pragma warning (disable : 4251)
+#   pragma warning (disable : 4251)
 
 // disable: 'MultiTypeString' : multiple assignment operators specified
Index: code/trunk/src/orxonox/OrxonoxStableHeaders.h
===================================================================
--- code/trunk/src/orxonox/OrxonoxStableHeaders.h	(revision 1063)
+++ code/trunk/src/orxonox/OrxonoxStableHeaders.h	(revision 1064)
@@ -55,4 +55,6 @@
 #include <OgreFrameListener.h>
 #include <OgreLight.h>
+#include <OgreLog.h>
+#include <OgreLogManager.h>
 #include <OgreMath.h>
 #include <OgreMatrix3.h>
@@ -62,6 +64,4 @@
 #include <OgreParticleEmitter.h>
 #include <OgreParticleSystem.h>
-#include <OgrePlatform.h>
-#include <OgrePrerequisites.h>
 #include <OgreQuaternion.h>
 #include <OgreResourceGroupManager.h>
@@ -81,34 +81,35 @@
 #include <OIS/OIS.h>
 
-/**
-* Some of the not so stable header files.
-* It's not very useful to include them anyway..
-**/
+//-----------------------------------------------------------------------
+// ORXONOX HEADERS
+//-----------------------------------------------------------------------
 
-#include "core/CoreIncludes.h"
-#include "core/BaseObject.h"
-#include "core/Tickable.h"
-#include "core/Error.h"
-#include "core/Loader.h"
-#include "core/XMLPort.h"
-
-#include "network/Synchronisable.h"
-//#include "network/Server.h"
-//#include "network/Client.h"
-
+#include "util/Convert.h"
 #include "util/Math.h"
-#include "util/Sleep.h"
-#include "util/String2Number.h"
-#include "util/Tokenizer.h"
 #include "util/Multitype.h"
 #include "util/MultiTypeMath.h"
 #include "util/MultiTypePrimitive.h"
 #include "util/MultiTypeString.h"
-#include "util/substring.h"
+#include "util/Sleep.h"
+#include "util/String.h"
+#include "util/SubString.h"
 #include "util/XMLIncludes.h"
-
 #include "util/tinyxml/ticpp.h"
 #include "util/tinyxml/tinyxml.h"
 
+#include "core/BaseObject.h"
+#include "core/CommandExecutor.h"
+#include "core/CoreIncludes.h"
+#include "core/ConfigValueIncludes.h"
+#include "core/Debug.h"
+#include "core/Executor.h"
+#include "core/Tickable.h"
+#include "core/XMLPort.h"
+
+#include "network/Synchronisable.h"
+
+#include "OrxonoxPlatform.h"
+#include "OrxonoxPrereqs.h"
+#include "tools/Timer.h"
 #include "objects/Model.h"
 #include "objects/WorldEntity.h"
Index: code/trunk/src/orxonox/objects/Ambient.cc
===================================================================
--- code/trunk/src/orxonox/objects/Ambient.cc	(revision 1063)
+++ code/trunk/src/orxonox/objects/Ambient.cc	(revision 1064)
@@ -36,6 +36,6 @@
 
 #include "util/tinyxml/tinyxml.h"
-#include "util/Tokenizer.h"
-#include "util/String2Number.h"
+#include "util/SubString.h"
+#include "util/Convert.h"
 #include "util/Math.h"
 #include "core/Debug.h"
@@ -67,10 +67,10 @@
     	if (xmlElem->Attribute("colourvalue"))
     	{
+        SubString colourvalues(xmlElem->Attribute("colourvalue"), ',');
 
-	    	std::vector<std::string> colourvalues = tokenize(xmlElem->Attribute("colourvalue"),",");
 	    	float r, g, b;
-    	 	String2Number<float>(r, colourvalues[0]);
-	    	String2Number<float>(g, colourvalues[1]);
-	    	String2Number<float>(b, colourvalues[2]);
+        convertValue<std::string, float>(&r, colourvalues[0]);
+        convertValue<std::string, float>(&g, colourvalues[1]);
+        convertValue<std::string, float>(&b, colourvalues[2]);
 
 	    	this->setAmbientLight(ColourValue(r, g, b));
Index: code/trunk/src/orxonox/objects/Camera.cc
===================================================================
--- code/trunk/src/orxonox/objects/Camera.cc	(revision 1063)
+++ code/trunk/src/orxonox/objects/Camera.cc	(revision 1064)
@@ -38,6 +38,6 @@
 
 #include "util/tinyxml/tinyxml.h"
-#include "util/Tokenizer.h"
-#include "util/String2Number.h"
+#include "util/Substring.h"
+#include "util/Convert.h"
 #include "util/Math.h"
 #include "core/Debug.h"
@@ -73,15 +73,15 @@
 
         float x, y, z;
-        std::vector<std::string> posVec = tokenize(xmlElem->Attribute("pos"),",");
-        String2Number<float>(x, posVec[0]);
-        String2Number<float>(y, posVec[1]);
-        String2Number<float>(z, posVec[2]);
+        SubString posVec(xmlElem->Attribute("pos"), ',');
+        convertValue<std::string, float>(&x, posVec[0]);
+        convertValue<std::string, float>(&y, posVec[1]);
+        convertValue<std::string, float>(&z, posVec[2]);
 
         cam->setPosition(Vector3(x,y,z));
 
-        posVec = tokenize(xmlElem->Attribute("lookat"),",");
-        String2Number<float>(x, posVec[0]);
-        String2Number<float>(y, posVec[1]);
-        String2Number<float>(z, posVec[2]);
+        posVec = SubString(xmlElem->Attribute("lookat"), ',');
+        convertValue<std::string, float>(&x, posVec[0]);
+        convertValue<std::string, float>(&y, posVec[1]);
+        convertValue<std::string, float>(&z, posVec[2]);
 
         cam->lookAt(Vector3(x,y,z));
@@ -93,5 +93,6 @@
 
         // FIXME: unused var
-        Ogre::Viewport* vp = GraphicsEngine::getSingleton().getRenderWindow()->addViewport(cam);
+        //Ogre::Viewport* vp = 
+        GraphicsEngine::getSingleton().getRenderWindow()->addViewport(cam);
 
 
Index: code/trunk/src/orxonox/objects/Model.cc
===================================================================
--- code/trunk/src/orxonox/objects/Model.cc	(revision 1063)
+++ code/trunk/src/orxonox/objects/Model.cc	(revision 1064)
@@ -31,6 +31,4 @@
 
 #include "util/tinyxml/tinyxml.h"
-#include "util/Tokenizer.h"
-#include "util/String2Number.h"
 #include "core/CoreIncludes.h"
 #include "GraphicsEngine.h"
Index: code/trunk/src/orxonox/objects/Skybox.cc
===================================================================
--- code/trunk/src/orxonox/objects/Skybox.cc	(revision 1063)
+++ code/trunk/src/orxonox/objects/Skybox.cc	(revision 1064)
@@ -35,6 +35,4 @@
 
 #include "util/tinyxml/tinyxml.h"
-//#include "util/Tokenizer.h"
-//#include "util/String2Number.h"
 #include "GraphicsEngine.h"
 #include "core/CoreIncludes.h"
Index: code/trunk/src/orxonox/objects/SpaceShip.cc
===================================================================
--- code/trunk/src/orxonox/objects/SpaceShip.cc	(revision 1063)
+++ code/trunk/src/orxonox/objects/SpaceShip.cc	(revision 1064)
@@ -39,5 +39,5 @@
 
 #include "util/tinyxml/tinyxml.h"
-#include "util/String2Number.h"
+#include "util/Convert.h"
 #include "util/Math.h"
 #include "core/CoreIncludes.h"
@@ -259,11 +259,11 @@
             std::string rdStr = xmlElem->Attribute("rotDamp");
 
-            String2Number<float>(this->maxSpeed_, msStr);
-            String2Number<float>(this->maxSideAndBackSpeed_, msabsStr);
-            String2Number<float>(this->maxRotation_, mrStr);
-            String2Number<float>(this->translationAcceleration_, taStr);
-            String2Number<float>(this->rotationAcceleration_, raStr);
-            String2Number<float>(this->translationDamping_, tdStr);
-            String2Number<float>(this->rotationDamping_, rdStr);
+            convertValue<std::string, float>(&this->maxSpeed_, msStr);
+            convertValue<std::string, float>(&this->maxSideAndBackSpeed_, msabsStr);
+            convertValue<std::string, float>(&this->maxRotation_, mrStr);
+            convertValue<std::string, float>(&this->translationAcceleration_, taStr);
+            convertValue<std::string, float>(&this->rotationAcceleration_, raStr);
+            convertValue<std::string, float>(&this->translationDamping_, tdStr);
+            convertValue<std::string, float>(&this->rotationDamping_, rdStr);
 
             this->maxRotationRadian_ = Radian(this->maxRotation_);
@@ -458,5 +458,6 @@
 
         OIS::Keyboard* mKeyboard = InputManager::getSingleton().getKeyboard();
-        OIS::Mouse* mMouse = InputManager::getSingleton().getMouse();
+        //FIXME: variable never used
+        //OIS::Mouse* mMouse = InputManager::getSingleton().getMouse();
 
 
Index: code/trunk/src/orxonox/objects/WorldEntity.cc
===================================================================
--- code/trunk/src/orxonox/objects/WorldEntity.cc	(revision 1063)
+++ code/trunk/src/orxonox/objects/WorldEntity.cc	(revision 1064)
@@ -34,6 +34,5 @@
 
 #include "util/tinyxml/tinyxml.h"
-#include "util/Tokenizer.h"
-#include "util/String2Number.h"
+#include "util/SubString.h"
 #include "core/CoreIncludes.h"
 #include "GraphicsEngine.h"
