Index: code/branches/libraries/src/orxonox/CMakeLists.txt
===================================================================
--- code/branches/libraries/src/orxonox/CMakeLists.txt	(revision 5632)
+++ code/branches/libraries/src/orxonox/CMakeLists.txt	(revision 5633)
@@ -70,4 +70,5 @@
     core
     network
+    tools
   SOURCE_FILES ${ORXONOX_SRC_FILES}
 )
Index: code/branches/libraries/src/orxonox/Map.h
===================================================================
--- code/branches/libraries/src/orxonox/Map.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/Map.h	(revision 5633)
@@ -33,5 +33,5 @@
 
 #include "util/UtilPrereqs.h"
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 #include "overlays/OrxonoxOverlay.h"
 
Index: code/branches/libraries/src/orxonox/PawnManager.h
===================================================================
--- code/branches/libraries/src/orxonox/PawnManager.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/PawnManager.h	(revision 5633)
@@ -33,5 +33,5 @@
 
 #include "util/Singleton.h"
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 
 namespace orxonox
Index: code/branches/libraries/src/orxonox/gamestates/GSLevel.cc
===================================================================
--- code/branches/libraries/src/orxonox/gamestates/GSLevel.cc	(revision 5632)
+++ code/branches/libraries/src/orxonox/gamestates/GSLevel.cc	(revision 5633)
@@ -45,5 +45,5 @@
 #include "core/XMLFile.h"
 
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 #include "objects/Radar.h"
 #include "objects/quest/QuestManager.h"
Index: code/branches/libraries/src/orxonox/gamestates/GSRoot.cc
===================================================================
--- code/branches/libraries/src/orxonox/gamestates/GSRoot.cc	(revision 5632)
+++ code/branches/libraries/src/orxonox/gamestates/GSRoot.cc	(revision 5633)
@@ -38,6 +38,6 @@
 #include "ToluaBindOrxonox.h"
 #include "tools/Timer.h"
-#include "interfaces/TimeFactorListener.h"
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/TimeFactorListener.h"
+#include "tools/interfaces/Tickable.h"
 #include "LevelManager.h"
 
Index: code/branches/libraries/src/orxonox/interfaces/InterfaceCompilation.cc
===================================================================
--- code/branches/libraries/src/orxonox/interfaces/InterfaceCompilation.cc	(revision 5632)
+++ code/branches/libraries/src/orxonox/interfaces/InterfaceCompilation.cc	(revision 5633)
@@ -30,5 +30,5 @@
 @file
 @brief
-    Compiles all the interfaces (except RadarViewable) with mostly just a constructor.
+    Compiles all the interfaces in the orxonox library with mostly just a constructor.
 */
 
@@ -38,6 +38,4 @@
 #include "Rewardable.h"
 #include "TeamColourable.h"
-#include "Tickable.h"
-#include "TimeFactorListener.h"
 #include "NotificationListener.h"
 
@@ -82,25 +80,4 @@
 
     //----------------------------
-    // TimeFactorListener
-    //----------------------------
-    float TimeFactorListener::timefactor_s = 1.0f;
-
-    TimeFactorListener::TimeFactorListener()
-    {
-        RegisterRootObject(TimeFactorListener);
-    }
-
-    //----------------------------
-    // Tickable
-    //----------------------------
-    /**
-        @brief Constructor: Registers the object in the Tickable-list
-    */
-    Tickable::Tickable()
-    {
-        RegisterRootObject(Tickable);
-    }
-
-    //----------------------------
     // Rewardable
     //----------------------------
Index: code/branches/libraries/src/orxonox/interfaces/Tickable.h
===================================================================
--- code/branches/libraries/src/orxonox/interfaces/Tickable.h	(revision 5632)
+++ 	(revision )
@@ -1,68 +1,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it and/or
- *   modify it under the terms of the GNU General Public License
- *   as published by the Free Software Foundation; either version 2
- *   of the License, or (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Fabian 'x3n' Landau
- *   Co-authors:
- *      ...
- *
- */
-
-/*!
-    @file
-    @brief Declaration of the Tickable interface.
-
-    The Tickable interface provides a tick(dt) function, that gets called every frame.
-    float dt is the time since the last frame in seconds.
-
-    Attention:
-    Classes derived from a Tickable that want to have a tick(dt) function on their part, MUST call the
-    parent::tick(dt) function explicitly in their implementation of tick(dt) because it's a virtual function.
-*/
-
-#ifndef _Tickable_H__
-#define _Tickable_H__
-
-#include "OrxonoxPrereqs.h"
-
-#include "core/OrxonoxClass.h"
-#include "core/Super.h"
-
-namespace orxonox
-{
-    //! The Tickable interface provides a tick(dt) function, that gets called every frame.
-    class _OrxonoxExport Tickable : virtual public OrxonoxClass
-    {
-        public:
-            /**
-                @brief Gets called every frame.
-                @param dt The time since the last frame in seconds
-            */
-            virtual void tick(float dt) { }
-
-        protected:
-            Tickable();
-    };
-
-    SUPER_FUNCTION(1, Tickable, tick, true);
-}
-
-#endif /* _Tickable_H__ */
Index: code/branches/libraries/src/orxonox/interfaces/TimeFactorListener.h
===================================================================
--- code/branches/libraries/src/orxonox/interfaces/TimeFactorListener.h	(revision 5632)
+++ 	(revision )
@@ -1,55 +1,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it and/or
- *   modify it under the terms of the GNU General Public License
- *   as published by the Free Software Foundation; either version 2
- *   of the License, or (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Reto Grieder
- *   Co-authors:
- *      ...
- *
- */
-
-#ifndef _TimeFactorListener_H__
-#define _TimeFactorListener_H__
-
-#include "OrxonoxPrereqs.h"
-#include "core/OrxonoxClass.h"
-
-namespace orxonox
-{
-    class _OrxonoxExport TimeFactorListener : virtual public OrxonoxClass
-    {
-        friend class GSRoot;
-
-        public:
-            TimeFactorListener();
-            virtual ~TimeFactorListener() {}
-
-        protected:
-            virtual void changedTimeFactor(float factor_new, float factor_old) {}
-            inline float getTimeFactor() const
-                { return TimeFactorListener::timefactor_s; }
-
-        private:
-            static float timefactor_s;
-    };
-}
-
-#endif /* _TimeFactorListener_H__ */
Index: code/branches/libraries/src/orxonox/objects/Radar.h
===================================================================
--- code/branches/libraries/src/orxonox/objects/Radar.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/objects/Radar.h	(revision 5633)
@@ -42,5 +42,5 @@
 #include "core/ObjectListIterator.h"
 #include "interfaces/RadarViewable.h"
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 
 namespace orxonox
Index: code/branches/libraries/src/orxonox/objects/Scene.h
===================================================================
--- code/branches/libraries/src/orxonox/objects/Scene.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/objects/Scene.h	(revision 5633)
@@ -41,5 +41,5 @@
 #include "core/BaseObject.h"
 #include "network/synchronisable/Synchronisable.h"
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 
 namespace orxonox
Index: code/branches/libraries/src/orxonox/objects/Test.h
===================================================================
--- code/branches/libraries/src/orxonox/objects/Test.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/objects/Test.h	(revision 5633)
@@ -33,5 +33,5 @@
 #include "core/BaseObject.h"
 #include "network/synchronisable/Synchronisable.h"
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 
 
@@ -50,5 +50,5 @@
       void setConfigValues();
       void registerVariables();
-      
+
       static void call(unsigned int clientID);
       void call2(unsigned int clientID, std::string s1, std::string s2, std::string s3, std::string s4);
@@ -65,5 +65,5 @@
       void checkU3();
       void checkU4();
-      
+
       //signed functions
       void setS1(TYPE value){ s1 = value; }
@@ -75,10 +75,10 @@
       void checkS3();
       void checkS4();
-      
+
       static void printV1(){ instance_->checkU1(); }
       static void printV2(){ instance_->checkU2(); }
       static void printV3(){ instance_->checkU3(); }
       static void printV4(){ instance_->checkU4(); }
-      
+
       void printBlaBla(std::string s1, std::string s2, std::string s3, std::string s4, std::string s5);
 
@@ -88,10 +88,10 @@
       UTYPE u3;
       UTYPE u4;
-      
+
       TYPE s1;
       TYPE s2;
       TYPE s3;
       TYPE s4;
-      
+
       static Test* instance_;
   };
Index: code/branches/libraries/src/orxonox/objects/controllers/AIController.h
===================================================================
--- code/branches/libraries/src/orxonox/objects/controllers/AIController.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/objects/controllers/AIController.h	(revision 5633)
@@ -33,5 +33,5 @@
 
 #include "tools/Timer.h"
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 #include "ArtificialController.h"
 
Index: code/branches/libraries/src/orxonox/objects/controllers/PongAI.h
===================================================================
--- code/branches/libraries/src/orxonox/objects/controllers/PongAI.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/objects/controllers/PongAI.h	(revision 5633)
@@ -34,5 +34,5 @@
 #include <list>
 #include "util/Math.h"
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 #include "Controller.h"
 
Index: code/branches/libraries/src/orxonox/objects/controllers/WaypointController.h
===================================================================
--- code/branches/libraries/src/orxonox/objects/controllers/WaypointController.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/objects/controllers/WaypointController.h	(revision 5633)
@@ -33,5 +33,5 @@
 
 #include <vector>
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 #include "ArtificialController.h"
 
Index: code/branches/libraries/src/orxonox/objects/gametypes/Gametype.h
===================================================================
--- code/branches/libraries/src/orxonox/objects/gametypes/Gametype.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/objects/gametypes/Gametype.h	(revision 5633)
@@ -38,5 +38,5 @@
 #include "core/BaseObject.h"
 #include "core/Identifier.h"
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 #include "objects/infos/GametypeInfo.h"
 
@@ -133,5 +133,5 @@
 
             inline  void startTimer()
-            { 
+            {
                 this->time_ = this->timeLimit_;
                 this->timerIsActive_ = true;
Index: code/branches/libraries/src/orxonox/objects/items/Engine.h
===================================================================
--- code/branches/libraries/src/orxonox/objects/items/Engine.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/objects/items/Engine.h	(revision 5633)
@@ -32,5 +32,5 @@
 #include "OrxonoxPrereqs.h"
 
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 #include "Item.h"
 
Index: code/branches/libraries/src/orxonox/objects/pickup/DroppedItem.h
===================================================================
--- code/branches/libraries/src/orxonox/objects/pickup/DroppedItem.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/objects/pickup/DroppedItem.h	(revision 5633)
@@ -38,5 +38,5 @@
 
 #include "tools/Timer.h"
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 #include "objects/worldentities/StaticEntity.h"
 
Index: code/branches/libraries/src/orxonox/objects/pickup/PickupSpawner.h
===================================================================
--- code/branches/libraries/src/orxonox/objects/pickup/PickupSpawner.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/objects/pickup/PickupSpawner.h	(revision 5633)
@@ -39,5 +39,5 @@
 #include <string>
 #include "tools/Timer.h"
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 #include "objects/worldentities/StaticEntity.h"
 
Index: code/branches/libraries/src/orxonox/objects/worldentities/Backlight.h
===================================================================
--- code/branches/libraries/src/orxonox/objects/worldentities/Backlight.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/objects/worldentities/Backlight.h	(revision 5633)
@@ -33,5 +33,5 @@
 
 #include <string>
-#include "interfaces/TimeFactorListener.h"
+#include "tools/interfaces/TimeFactorListener.h"
 #include "FadingBillboard.h"
 
Index: code/branches/libraries/src/orxonox/objects/worldentities/BlinkingBillboard.h
===================================================================
--- code/branches/libraries/src/orxonox/objects/worldentities/BlinkingBillboard.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/objects/worldentities/BlinkingBillboard.h	(revision 5633)
@@ -33,5 +33,5 @@
 
 #include "util/Math.h"
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 #include "Billboard.h"
 
Index: code/branches/libraries/src/orxonox/objects/worldentities/Camera.h
===================================================================
--- code/branches/libraries/src/orxonox/objects/worldentities/Camera.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/objects/worldentities/Camera.h	(revision 5633)
@@ -33,5 +33,5 @@
 
 #include "util/OgreForwardRefs.h"
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 #include "objects/worldentities/StaticEntity.h"
 
Index: code/branches/libraries/src/orxonox/objects/worldentities/FadingBillboard.h
===================================================================
--- code/branches/libraries/src/orxonox/objects/worldentities/FadingBillboard.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/objects/worldentities/FadingBillboard.h	(revision 5633)
@@ -34,5 +34,5 @@
 #include "util/Math.h"
 #include "tools/Timer.h"
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 #include "Billboard.h"
 
Index: code/branches/libraries/src/orxonox/objects/worldentities/ForceField.h
===================================================================
--- code/branches/libraries/src/orxonox/objects/worldentities/ForceField.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/objects/worldentities/ForceField.h	(revision 5633)
@@ -33,5 +33,5 @@
 #include "OrxonoxPrereqs.h"
 
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 #include "StaticEntity.h"
 
@@ -48,8 +48,8 @@
         inline void setVelocity(float vel)
             { this->velocity_ = vel; }
-    
+
         inline float getVelocity()
             { return velocity_; }
-    
+
         inline void setDiameter(float diam)
             { this->diameter_ = diam; }
@@ -57,5 +57,5 @@
         inline float getDiameter()
             { return diameter_; }
- 
+
         inline void setLength(float l)
             { this->length_ = l; }
Index: code/branches/libraries/src/orxonox/objects/worldentities/MobileEntity.h
===================================================================
--- code/branches/libraries/src/orxonox/objects/worldentities/MobileEntity.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/objects/worldentities/MobileEntity.h	(revision 5633)
@@ -33,5 +33,5 @@
 
 #include "util/Math.h"
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 #include "WorldEntity.h"
 
Index: code/branches/libraries/src/orxonox/objects/worldentities/triggers/Trigger.h
===================================================================
--- code/branches/libraries/src/orxonox/objects/worldentities/triggers/Trigger.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/objects/worldentities/triggers/Trigger.h	(revision 5633)
@@ -36,5 +36,5 @@
 
 #include "tools/BillboardSet.h"
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 #include "objects/worldentities/StaticEntity.h"
 
Index: code/branches/libraries/src/orxonox/overlays/FadeoutText.h
===================================================================
--- code/branches/libraries/src/orxonox/overlays/FadeoutText.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/overlays/FadeoutText.h	(revision 5633)
@@ -33,5 +33,5 @@
 
 #include "tools/Timer.h"
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 #include "overlays/OverlayText.h"
 
Index: code/branches/libraries/src/orxonox/overlays/debug/DebugFPSText.h
===================================================================
--- code/branches/libraries/src/orxonox/overlays/debug/DebugFPSText.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/overlays/debug/DebugFPSText.h	(revision 5633)
@@ -32,5 +32,5 @@
 #include "overlays/OverlaysPrereqs.h"
 
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 #include "overlays/OverlayText.h"
 
Index: code/branches/libraries/src/orxonox/overlays/debug/DebugRTRText.h
===================================================================
--- code/branches/libraries/src/orxonox/overlays/debug/DebugRTRText.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/overlays/debug/DebugRTRText.h	(revision 5633)
@@ -32,5 +32,5 @@
 #include "overlays/OverlaysPrereqs.h"
 
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 #include "overlays/OverlayText.h"
 
Index: code/branches/libraries/src/orxonox/overlays/hud/GametypeStatus.h
===================================================================
--- code/branches/libraries/src/orxonox/overlays/hud/GametypeStatus.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/overlays/hud/GametypeStatus.h	(revision 5633)
@@ -32,5 +32,5 @@
 #include "overlays/OverlaysPrereqs.h"
 
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 #include "overlays/OverlayText.h"
 
Index: code/branches/libraries/src/orxonox/overlays/hud/HUDHealthBar.h
===================================================================
--- code/branches/libraries/src/orxonox/overlays/hud/HUDHealthBar.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/overlays/hud/HUDHealthBar.h	(revision 5633)
@@ -33,5 +33,5 @@
 
 #include "util/Math.h"
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 #include "overlays/OverlayText.h"
 #include "HUDBar.h"
Index: code/branches/libraries/src/orxonox/overlays/hud/HUDNavigation.h
===================================================================
--- code/branches/libraries/src/orxonox/overlays/hud/HUDNavigation.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/overlays/hud/HUDNavigation.h	(revision 5633)
@@ -33,5 +33,5 @@
 
 #include "util/OgreForwardRefs.h"
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 #include "overlays/OrxonoxOverlay.h"
 
Index: code/branches/libraries/src/orxonox/overlays/hud/HUDSpeedBar.h
===================================================================
--- code/branches/libraries/src/orxonox/overlays/hud/HUDSpeedBar.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/overlays/hud/HUDSpeedBar.h	(revision 5633)
@@ -33,5 +33,5 @@
 #include "overlays/OverlaysPrereqs.h"
 
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 #include "HUDBar.h"
 
Index: code/branches/libraries/src/orxonox/overlays/hud/HUDTimer.h
===================================================================
--- code/branches/libraries/src/orxonox/overlays/hud/HUDTimer.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/overlays/hud/HUDTimer.h	(revision 5633)
@@ -32,5 +32,5 @@
 #include "overlays/OverlaysPrereqs.h"
 
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 #include "overlays/OverlayText.h"
 
Index: code/branches/libraries/src/orxonox/overlays/hud/PongScore.h
===================================================================
--- code/branches/libraries/src/orxonox/overlays/hud/PongScore.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/overlays/hud/PongScore.h	(revision 5633)
@@ -32,5 +32,5 @@
 #include "overlays/OverlaysPrereqs.h"
 
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 #include "overlays/OverlayText.h"
 
Index: code/branches/libraries/src/orxonox/overlays/hud/TeamBaseMatchScore.h
===================================================================
--- code/branches/libraries/src/orxonox/overlays/hud/TeamBaseMatchScore.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/overlays/hud/TeamBaseMatchScore.h	(revision 5633)
@@ -32,5 +32,5 @@
 #include "overlays/OverlaysPrereqs.h"
 
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 #include "overlays/OverlayText.h"
 
Index: code/branches/libraries/src/orxonox/overlays/notifications/NotificationQueue.h
===================================================================
--- code/branches/libraries/src/orxonox/overlays/notifications/NotificationQueue.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/overlays/notifications/NotificationQueue.h	(revision 5633)
@@ -43,5 +43,5 @@
 
 #include "util/Math.h"
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 #include "overlays/OverlayGroup.h"
 #include "interfaces/NotificationListener.h"
Index: code/branches/libraries/src/orxonox/overlays/stats/Scoreboard.h
===================================================================
--- code/branches/libraries/src/orxonox/overlays/stats/Scoreboard.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/overlays/stats/Scoreboard.h	(revision 5633)
@@ -33,5 +33,5 @@
 #include <string>
 #include <vector>
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 #include "overlays/OrxonoxOverlay.h"
 
Index: code/branches/libraries/src/orxonox/overlays/stats/Stats.h
===================================================================
--- code/branches/libraries/src/orxonox/overlays/stats/Stats.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/overlays/stats/Stats.h	(revision 5633)
@@ -33,5 +33,5 @@
 
 #include "util/OgreForwardRefs.h"
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 #include "overlays/OrxonoxOverlay.h"
 
Index: code/branches/libraries/src/orxonox/sound/SoundManager.h
===================================================================
--- code/branches/libraries/src/orxonox/sound/SoundManager.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/sound/SoundManager.h	(revision 5633)
@@ -33,5 +33,5 @@
 #include <list>
 #include "util/Singleton.h"
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 
 namespace orxonox
Index: code/branches/libraries/src/orxonox/tools/CMakeLists.txt
===================================================================
--- code/branches/libraries/src/orxonox/tools/CMakeLists.txt	(revision 5632)
+++ code/branches/libraries/src/orxonox/tools/CMakeLists.txt	(revision 5633)
@@ -1,3 +1,3 @@
-ADD_SOURCE_FILES(ORXONOX_SRC_FILES
+ADD_SOURCE_FILES(TOOLS_SRC_FILES
   BillboardSet.cc
   DynamicLines.cc
@@ -9,2 +9,12 @@
   Timer.cc
 )
+ADD_SUBDIRECTORY(interfaces)
+
+ORXONOX_ADD_LIBRARY(tools
+#  FIND_HEADER_FILES
+  DEFINE_SYMBOL
+    "TOOLS_SHARED_BUILD"
+  LINK_LIBRARIES
+    core
+  SOURCE_FILES ${TOOLS_SRC_FILES}
+)
Index: code/branches/libraries/src/orxonox/tools/ParticleInterface.h
===================================================================
--- code/branches/libraries/src/orxonox/tools/ParticleInterface.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/tools/ParticleInterface.h	(revision 5633)
@@ -33,5 +33,5 @@
 
 #include "util/OgreForwardRefs.h"
-#include "interfaces/TimeFactorListener.h"
+#include "tools/interfaces/TimeFactorListener.h"
 
 #define getAllEmitters() \
Index: code/branches/libraries/src/orxonox/tools/Shader.h
===================================================================
--- code/branches/libraries/src/orxonox/tools/Shader.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/tools/Shader.h	(revision 5633)
@@ -37,5 +37,5 @@
 
 #include "util/OgreForwardRefs.h"
-#include "interfaces/Tickable.h"
+#include "tools/interfaces/Tickable.h"
 
 namespace orxonox
Index: code/branches/libraries/src/orxonox/tools/Timer.h
===================================================================
--- code/branches/libraries/src/orxonox/tools/Timer.h	(revision 5632)
+++ code/branches/libraries/src/orxonox/tools/Timer.h	(revision 5633)
@@ -65,5 +65,5 @@
 #include "core/Executor.h"
 #include "core/OrxonoxClass.h"
-#include "interfaces/TimeFactorListener.h"
+#include "tools/interfaces/TimeFactorListener.h"
 
 namespace orxonox
Index: code/branches/libraries/src/orxonox/tools/interfaces/CMakeLists.txt
===================================================================
--- code/branches/libraries/src/orxonox/tools/interfaces/CMakeLists.txt	(revision 5633)
+++ code/branches/libraries/src/orxonox/tools/interfaces/CMakeLists.txt	(revision 5633)
@@ -0,0 +1,3 @@
+ADD_SOURCE_FILES(TOOLS_SRC_FILES
+  ToolsInterfaceCompilation.cc
+)
Index: code/branches/libraries/src/orxonox/tools/interfaces/Tickable.h
===================================================================
--- code/branches/libraries/src/orxonox/tools/interfaces/Tickable.h	(revision 5633)
+++ code/branches/libraries/src/orxonox/tools/interfaces/Tickable.h	(revision 5633)
@@ -0,0 +1,68 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Fabian 'x3n' Landau
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/*!
+    @file
+    @brief Declaration of the Tickable interface.
+
+    The Tickable interface provides a tick(dt) function, that gets called every frame.
+    float dt is the time since the last frame in seconds.
+
+    Attention:
+    Classes derived from a Tickable that want to have a tick(dt) function on their part, MUST call the
+    parent::tick(dt) function explicitly in their implementation of tick(dt) because it's a virtual function.
+*/
+
+#ifndef _Tickable_H__
+#define _Tickable_H__
+
+#include "OrxonoxPrereqs.h"
+
+#include "core/OrxonoxClass.h"
+#include "core/Super.h"
+
+namespace orxonox
+{
+    //! The Tickable interface provides a tick(dt) function, that gets called every frame.
+    class _OrxonoxExport Tickable : virtual public OrxonoxClass
+    {
+        public:
+            /**
+                @brief Gets called every frame.
+                @param dt The time since the last frame in seconds
+            */
+            virtual void tick(float dt) { }
+
+        protected:
+            Tickable();
+    };
+
+    SUPER_FUNCTION(1, Tickable, tick, true);
+}
+
+#endif /* _Tickable_H__ */
Index: code/branches/libraries/src/orxonox/tools/interfaces/TimeFactorListener.h
===================================================================
--- code/branches/libraries/src/orxonox/tools/interfaces/TimeFactorListener.h	(revision 5633)
+++ code/branches/libraries/src/orxonox/tools/interfaces/TimeFactorListener.h	(revision 5633)
@@ -0,0 +1,55 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Reto Grieder
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+#ifndef _TimeFactorListener_H__
+#define _TimeFactorListener_H__
+
+#include "OrxonoxPrereqs.h"
+#include "core/OrxonoxClass.h"
+
+namespace orxonox
+{
+    class _OrxonoxExport TimeFactorListener : virtual public OrxonoxClass
+    {
+        friend class GSRoot;
+
+        public:
+            TimeFactorListener();
+            virtual ~TimeFactorListener() {}
+
+        protected:
+            virtual void changedTimeFactor(float factor_new, float factor_old) {}
+            inline float getTimeFactor() const
+                { return TimeFactorListener::timefactor_s; }
+
+        private:
+            static float timefactor_s;
+    };
+}
+
+#endif /* _TimeFactorListener_H__ */
Index: code/branches/libraries/src/orxonox/tools/interfaces/ToolsInterfaceCompilation.cc
===================================================================
--- code/branches/libraries/src/orxonox/tools/interfaces/ToolsInterfaceCompilation.cc	(revision 5633)
+++ code/branches/libraries/src/orxonox/tools/interfaces/ToolsInterfaceCompilation.cc	(revision 5633)
@@ -0,0 +1,62 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Reto Grieder
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+@file
+@brief
+    Compiles all the interfaces in the tools library with mostly just a constructor.
+*/
+
+#include "Tickable.h"
+#include "TimeFactorListener.h"
+
+#include "core/CoreIncludes.h"
+
+namespace orxonox
+{
+    //----------------------------
+    // TimeFactorListener
+    //----------------------------
+    float TimeFactorListener::timefactor_s = 1.0f;
+
+    TimeFactorListener::TimeFactorListener()
+    {
+        RegisterRootObject(TimeFactorListener);
+    }
+
+    //----------------------------
+    // Tickable
+    //----------------------------
+    /**
+        @brief Constructor: Registers the object in the Tickable-list
+    */
+    Tickable::Tickable()
+    {
+        RegisterRootObject(Tickable);
+    }
+}
