diff --git a/etc/doxygen/pages/Overview.dox b/etc/doxygen/pages/Overview.dox
index 76cc4c81c6a7db355125acb0c09af1efc264e4d3..0674f2b8497ba3c52106cab461f8ab5323062de4 100644
--- a/etc/doxygen/pages/Overview.dox
+++ b/etc/doxygen/pages/Overview.dox
@@ -1,7 +1,5 @@
 /**
 \page RobotAPI-Overview RobotAPI Overview
-\brief  
-
 The RobotAPI package provides a robot-intependent API that other ArmarX packages can use for accessing central functionality of a robot.
 The central elements of RobotAPI are Sensor-Actor Units, i.e. components responsible for the propagation of sensor values and actor targets.
 Sensor-Actor Units work as a link between higher level ArmarX components and the actual robot hardware or a robot simulation environment, respectively.
@@ -58,6 +56,8 @@ RobotAPI also provides a GUI-plugin for robot visualization.
 
 
 \defgroup RobotAPI RobotAPI
+\copydoc RobotAPI-Overview
 
-\defgroup RobotAPI-statecharts Statecharts
+\defgroup RobotAPI-Statecharts Statecharts
+\ingroup RobotAPI
 */
diff --git a/scenarios/CMakeLists.txt b/scenarios/CMakeLists.txt
index 0c57b98a956885a13171d7c76ee8af8af89f8319..2abeca70fde546d75fa6c8324ab9da975db54923 100644
--- a/scenarios/CMakeLists.txt
+++ b/scenarios/CMakeLists.txt
@@ -1,6 +1,4 @@
 
-add_subdirectory(MMMScenario)
-
 add_subdirectory(KinematicSimulationArmar3)
 
 add_subdirectory(tests)
diff --git a/scenarios/MMMScenario/CMakeLists.txt b/scenarios/MMMScenario/CMakeLists.txt
deleted file mode 100644
index 14a51ca63854220bb4e611fbced631dcf5661e5b..0000000000000000000000000000000000000000
--- a/scenarios/MMMScenario/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-set(SCENARIO_CONFIG_COMPONENTS
-    config/MMMPlayerApp.cfg
-    )
-
-# optional 3rd parameter: "path/to/global/config.cfg"
-armarx_scenario_from_configs("MMMScenario" "${SCENARIO_CONFIG_COMPONENTS}" "config/global.cfg")
diff --git a/scenarios/MMMScenario/config/MMMPlayerApp.cfg b/scenarios/MMMScenario/config/MMMPlayerApp.cfg
deleted file mode 100644
index 49a06df94b78546bb804deb9ece1637b02308b8d..0000000000000000000000000000000000000000
--- a/scenarios/MMMScenario/config/MMMPlayerApp.cfg
+++ /dev/null
@@ -1,175 +0,0 @@
-# ==================================================================
-# ArmarX properties
-# ==================================================================
-
-# ArmarX.CachePath:  Path for cache files
-#  Attributes:
-#  - Default:            ${HOME}/.armarx/mongo/.cache
-#  - Case sensitivity:   no
-#  - Required:           no
-# ArmarX.CachePath = ${HOME}/.armarx/mongo/.cache
-
-
-# ArmarX.EnableProfiling:  Enable profiling of CPU load produced by this application
-#  Attributes:
-#  - Default:            0
-#  - Case sensitivity:   no
-#  - Required:           no
-#  - Possible values: {0, 1, false, no, true, yes}
-# ArmarX.EnableProfiling = 0
-
-
-# ArmarX.DataPath:  Semicolon-separated search list for data files
-#  Attributes:
-#  - Default:            ""
-#  - Case sensitivity:   no
-#  - Required:           no
-# ArmarX.DataPath = ""
-
-
-# ArmarX.Verbosity:  Global logging level for whole application
-#  Attributes:
-#  - Default:            Verbose
-#  - Case sensitivity:   no
-#  - Required:           no
-#  - Possible values: {Debug, Error, Fatal, Important, Info, Undefined, Verbose, Warning}
-# ArmarX.Verbosity = Verbose
-
-
-# ArmarX.DisableLogging:  Turn logging off in whole application
-#  Attributes:
-#  - Default:            0
-#  - Case sensitivity:   no
-#  - Required:           no
-#  - Possible values: {0, 1, false, no, true, yes}
-# ArmarX.DisableLogging = 0
-
-
-# ArmarX.ApplicationName:  Application name
-#  Attributes:
-#  - Default:            ""
-#  - Case sensitivity:   no
-#  - Required:           no
-# ArmarX.ApplicationName = ""
-
-
-# ArmarX.DependenciesConfig:  Path to the (usually generated) config file containing all data paths of all dependent projects. This property usually does not need to be edited.
-#  Attributes:
-#  - Default:            ./config/dependencies.cfg
-#  - Case sensitivity:   no
-#  - Required:           no
-# ArmarX.DependenciesConfig = ./config/dependencies.cfg
-
-
-# ArmarX.Config:  Comma-separated list of configuration files 
-#  Attributes:
-#  - Default:            ""
-#  - Case sensitivity:   no
-#  - Required:           no
-# ArmarX.Config = ""
-
-
-# ==================================================================
-# ArmarX.MMMPlayer properties
-# ==================================================================
-
-# ArmarX.MMMPlayer.Kp:  Proportional gain value of PID Controller
-#  Attributes:
-#  - Default:            1
-#  - Case sensitivity:   no
-#  - Required:           no
-ArmarX.MMMPlayer.Kp = 1
-
-
-# ArmarX.MMMPlayer.Kd:  Differential gain value of PID Controller
-#  Attributes:
-#  - Default:            1
-#  - Case sensitivity:   no
-#  - Required:           no
-ArmarX.MMMPlayer.Kd = 0
-
-
-# ArmarX.MMMPlayer.UsePIDController:  Specify whether the PID Controller should be used
-#  Attributes:
-#  - Default:            1
-#  - Case sensitivity:   no
-#  - Required:           no
-#  - Possible values: {0, 1, false, no, true, yes}
-ArmarX.MMMPlayer.UsePIDController = 1
-
-
-# ArmarX.MMMPlayer.LoopPlayback:  Specify whether should be repeated after execution
-#  Attributes:
-#  - Default:            1
-#  - Case sensitivity:   no
-#  - Required:           no
-#  - Possible values: {0, 1, false, no, true, yes}
-# ArmarX.MMMPlayer.LoopPlayback = 1
-
-
-# ArmarX.MMMPlayer.KinematicTopicName:  Name of the KinematicUnit reporting topic
-#  Attributes:
-#  - Case sensitivity:   no
-#  - Required:           yes
-ArmarX.MMMPlayer.KinematicTopicName = AllState
-
-
-# ArmarX.MMMPlayer.KinematicUnitName:  Name of the KinematicUnit to which the joint values should be sent
-#  Attributes:
-#  - Case sensitivity:   no
-#  - Required:           yes
-ArmarX.MMMPlayer.KinematicUnitName = KinematicUnitArmar4
-
-
-# ArmarX.MMMPlayer.FPS:  FPS with which the recording should be executed. Velocities will be adapted.
-#  Attributes:
-#  - Default:            100
-#  - Case sensitivity:   no
-#  - Required:           no
-ArmarX.MMMPlayer.FPS = 100
-
-
-# ArmarX.MMMPlayer.MMMFile:  Path to MMM XML File
-#  Attributes:
-#  - Case sensitivity:   no
-#  - Required:           yes
-ArmarX.MMMPlayer.MMMFile = /home/SMBAD/marek/Dokumente/Daten/point_at_left03_armar4.xml
-
-
-# ArmarX.MMMPlayer.EnableProfiling:  enable profiler which is used for logging performance events
-#  Attributes:
-#  - Default:            0
-#  - Case sensitivity:   no
-#  - Required:           no
-#  - Possible values: {0, 1, false, no, true, yes}
-# ArmarX.MMMPlayer.EnableProfiling = 0
-
-
-# ArmarX.MMMPlayer.Ki:  Integral gain value of PID Controller
-#  Attributes:
-#  - Default:            9.99999975e-06
-#  - Case sensitivity:   no
-#  - Required:           no
-ArmarX.MMMPlayer.Ki = 9.99999975e-06
-ArmarX.MMMPlayer.absMaximumVelocity = 1000000
-ArmarX.MMMPlayer.RobotNodeSetName = AllState
-
-
-# ArmarX.MMMPlayer.MinimumLoggingLevel:  Local logging level only for this component
-#  Attributes:
-#  - Default:            Undefined
-#  - Case sensitivity:   no
-#  - Required:           no
-#  - Possible values: {Debug, Error, Fatal, Info, Undefined, Verbose, Warning}
-# ArmarX.MMMPlayer.MinimumLoggingLevel = Undefined
-
-
-# ArmarX.MMMPlayer.ObjectName:  Name of IceGrid well-known object
-#  Attributes:
-#  - Default:            ""
-#  - Case sensitivity:   no
-#  - Required:           no
-# ArmarX.MMMPlayer.ObjectName = ""
-
-
-
diff --git a/scenarios/MMMScenario/config/global.cfg b/scenarios/MMMScenario/config/global.cfg
deleted file mode 100644
index ac68157eaa025deca2b5c7063b7e5690f759b8cf..0000000000000000000000000000000000000000
--- a/scenarios/MMMScenario/config/global.cfg
+++ /dev/null
@@ -1,12 +0,0 @@
-ArmarX.DisableLogging = no
-VisionX.DisableLogging = no
-
-ArmarX.GlobalMinimumLoggingLevel = Verbose
-#MemoryX.Verbosity = Debug
-VisionX.Verbosity = Verbose
-
-RobotConfig.RobotFileName=Armar4/robotmodel/Armar4.xml
-#RobotConfig.RobotName=Armar4
-RobotConfig.AgentName=Armar4
-RobotConfig.RobotNodeSetName=All
-#RobotConfig.PlatformName=Platform
diff --git a/source/RobotAPI/components/DebugDrawer/DebugDrawerComponent.h b/source/RobotAPI/components/DebugDrawer/DebugDrawerComponent.h
index 0ccd7836f79902f2cabe4021d8e89adeda37c606..6b31222ef1e726cbe7de04b32f0e708a3d057bc0 100644
--- a/source/RobotAPI/components/DebugDrawer/DebugDrawerComponent.h
+++ b/source/RobotAPI/components/DebugDrawer/DebugDrawerComponent.h
@@ -63,7 +63,7 @@ public:
 };
 
 /*!
- * \class DebugDrawerComponent
+ * \defgroup Component-DebugDrawerComponent DebugDrawerComponent
  * \ingroup RobotAPI-Components
  * \brief Visualizes debug information.
  *
@@ -94,6 +94,11 @@ public:
     }
 \endcode
  */
+
+/**
+ * @brief The DebugDrawerComponent class
+ * @ingroup Component-DebugDrawerComponent
+ */
 class DebugDrawerComponent :
         virtual public armarx::DebugDrawerInterface,
         virtual public Component
diff --git a/source/RobotAPI/components/RobotState/RobotStateComponent.h b/source/RobotAPI/components/RobotState/RobotStateComponent.h
index e3c8db3ea6b38a78b4ce81b6abfe8ace93f5538e..6e74c02c23ab540f26c7c318a131b0f78e38584a 100644
--- a/source/RobotAPI/components/RobotState/RobotStateComponent.h
+++ b/source/RobotAPI/components/RobotState/RobotStateComponent.h
@@ -56,7 +56,7 @@ namespace armarx
 
 
     /**
-     * \class RobotStateComponent
+     * \defgroup Component-RobotStateComponent RobotStateComponent
      * \ingroup RobotAPI-Components
      * \brief Maintains a robot representation based on VirtualRobot (see [Simox](http://simox.sourceforge.net/)).
      *
@@ -71,6 +71,11 @@ namespace armarx
      * to calculate on the same values.
      * See \ref armarx::RemoteRobot "RemoteRobot" for more details and the usage of this component.
      */
+
+    /**
+     * @brief The RobotStateComponent class
+     * @ingroup Component-RobotStateComponent
+     */
     class ARMARXCOMPONENT_IMPORT_EXPORT RobotStateComponent :
         virtual public Component,
         virtual public RobotStateComponentInterface
diff --git a/source/RobotAPI/components/RobotState/SharedRobotServants.h b/source/RobotAPI/components/RobotState/SharedRobotServants.h
index cff51585f49e312ce5034a8881dec38ba4705fdf..ba01ebe81ef083154b73f054396f66fa3199dae9 100644
--- a/source/RobotAPI/components/RobotState/SharedRobotServants.h
+++ b/source/RobotAPI/components/RobotState/SharedRobotServants.h
@@ -41,10 +41,10 @@ namespace armarx {
 
     /**
      * @brief The SharedRobotNodeServant class is a remote represenation of a Simox VirtualRobot::Robot
-     *
+     * @ingroup Component-RobotStateComponent
      * @details This class is used only internally by the the RobotStateComponent. Other classes such as the LinkedPose, RemoteRobot,
      * TCPControlUnit and HeadIKUnit classes address this class by the SharedRobotNodeInterface and SharedRobotNodeInterfacePrx generated by
-     * ICE.
+     * Ice.
      */
     class SharedRobotNodeServant :
         virtual public SharedRobotNodeInterface,
@@ -81,6 +81,7 @@ namespace armarx {
     };
 
     /**
+     * @ingroup Component-RobotStateComponent
      * @brief The SharedRobotNodeServant class is a remote represenation of a Simox VirtualRobot::Robot
      *
      * @details This class is used only internally by the the RobotStateComponent. The RemoteRobot class SharedRobotInterface and SharedRobotInterfacePrx
diff --git a/source/RobotAPI/components/units/ForceTorqueUnit.h b/source/RobotAPI/components/units/ForceTorqueUnit.h
index 947a4b60431ec9731130476dd58e65d0a706d670..fbe8b41b701a59f3b468ef7ba05fabebd28ddd18 100644
--- a/source/RobotAPI/components/units/ForceTorqueUnit.h
+++ b/source/RobotAPI/components/units/ForceTorqueUnit.h
@@ -54,7 +54,7 @@ namespace armarx
     };
     
     /**
-     * \class ForceTorqueUnit
+     * \defgroup Component-ForceTorqueUnit ForceTorqueUnit
      * \ingroup RobotAPI-SensorActorUnits
      * \brief Base unit for force/torque sensors.
      *
@@ -63,6 +63,11 @@ namespace armarx
      * RobotAPI contains the ForceTorqueUnitSimulation class that does a very basic simulation of F/T-sensors.
      * Other (hardware related) implementations of this unit can be found in the respective ArmarX projects.
      */
+
+    /**
+     * @ingroup Component-ForceTorqueUnit
+     * @brief The ForceTorqueUnit class
+     */
     class ForceTorqueUnit :
         virtual public ForceTorqueUnitInterface,
         virtual public SensorActorUnit
diff --git a/source/RobotAPI/components/units/HandUnit.h b/source/RobotAPI/components/units/HandUnit.h
index d68c4f5f7f6002ca722ae4a55c2c016f7a528dde..6bc729ddc7442585926aeaeffe4c73cdcbcd6581 100644
--- a/source/RobotAPI/components/units/HandUnit.h
+++ b/source/RobotAPI/components/units/HandUnit.h
@@ -60,7 +60,7 @@ namespace armarx
 
 
     /**
-     * \class HandUnit
+     * @ingroup Component-HandUnit HandUnit
      * \brief Base unit for high-level access to robot hands.
      * \ingroup RobotAPI-SensorActorUnits
      *
@@ -68,6 +68,11 @@ namespace armarx
      * It uses the HandUnitListener Ice interface to report updates of its current state
      *
      */
+
+    /**
+     * @brief The HandUnit class
+     * @ingroup Component-HandUnit
+     */
     class HandUnit :
         virtual public HandUnitInterface,
         virtual public SensorActorUnit
diff --git a/source/RobotAPI/components/units/HapticUnit.h b/source/RobotAPI/components/units/HapticUnit.h
index a5837e80024d9afece25ba2e8334ba81b7a32175..e3aefb2e7eca0579541804d5faad3fc64cc8acf9 100644
--- a/source/RobotAPI/components/units/HapticUnit.h
+++ b/source/RobotAPI/components/units/HapticUnit.h
@@ -49,10 +49,15 @@ namespace armarx
     };
     
     /**
-     * \class HapticUnit
+     * \defgroup Component-HapticUnit HapticUnit
      * \ingroup RobotAPI-SensorActorUnits
      * \brief Base unit for haptic sensors.
      */
+
+    /**
+     * @ingroup Component-HapticUnit
+     * @brief The HapticUnit class
+     */
     class HapticUnit :
         virtual public HapticUnitInterface,
         virtual public SensorActorUnit
diff --git a/source/RobotAPI/components/units/HeadIKUnit.h b/source/RobotAPI/components/units/HeadIKUnit.h
index 4147362a57b1e3e1aa3daf38ac8de0ff415dc363..81dcee3eef24784aca6922bd032f0d208b605208 100644
--- a/source/RobotAPI/components/units/HeadIKUnit.h
+++ b/source/RobotAPI/components/units/HeadIKUnit.h
@@ -53,10 +53,15 @@ namespace armarx
     };
 
     /**
-     * \class HeadIKUnit
+     * \defgroup Component-HeadIKUnit HeadIKUnit
      * \ingroup RobotAPI-SensorActorUnits
      * \brief Unit for controlling a robot head via IK targets.
      */
+
+    /**
+     * @ingroup Component-HeadIKUnit
+     * @brief The HeadIKUnit class
+     */
     class HeadIKUnit : virtual public Component, virtual public HeadIKUnitInterface
     {
     public:
diff --git a/source/RobotAPI/components/units/KinematicUnit.h b/source/RobotAPI/components/units/KinematicUnit.h
index a82b5f800bd04f303764fc76bb33e2173657a56c..e91ef47c346be52b73d4ea0dd8aa1487042b2628 100644
--- a/source/RobotAPI/components/units/KinematicUnit.h
+++ b/source/RobotAPI/components/units/KinematicUnit.h
@@ -55,7 +55,7 @@ namespace armarx
 
 
     /**
-     * \class KinematicUnit
+     * \defgroup Component-KinematicUnit KinematicUnit
      * \ingroup RobotAPI-SensorActorUnits
      * \brief Base unit for kinematic sensors and actors.
      *
@@ -65,6 +65,11 @@ namespace armarx
      * The KinematicUnit retrieves its configuration from a VirtualRobot robot model. Within the model, the joints, the unit
      * controls are defined with a RobotNodeSet.
      */
+
+    /**
+     * @ingroup Component-KinematicUnit
+     * @brief The KinematicUnit class
+     */
     class KinematicUnit :
         virtual public KinematicUnitInterface,
         virtual public SensorActorUnit
diff --git a/source/RobotAPI/components/units/PlatformUnit.h b/source/RobotAPI/components/units/PlatformUnit.h
index 1d46043a134842fcb8415ac86d126f828852aa05..8d2b53baa04461d0f856a7cee4faa6c808c00c38 100644
--- a/source/RobotAPI/components/units/PlatformUnit.h
+++ b/source/RobotAPI/components/units/PlatformUnit.h
@@ -51,7 +51,7 @@ namespace armarx
 
 
     /**
-     * \class PlatformUnit
+     * \defgroup Component-PlatformUnit PlatformUnit
      * \ingroup RobotAPI-SensorActorUnits
      * \brief Base unit for high-level access to robot platforms.
      *
@@ -59,6 +59,11 @@ namespace armarx
      * An instance of a PlatformUnit provides means to set target positions.
      * It uses the PlatformUnitListener Ice interface to report updates of its current state.
      */
+
+    /**
+     * @ingroup Component-PlatformUnit
+     * @brief The PlatformUnit class
+     */
     class PlatformUnit :
         virtual public PlatformUnitInterface,
         virtual public SensorActorUnit
diff --git a/source/RobotAPI/components/units/TCPControlUnit.h b/source/RobotAPI/components/units/TCPControlUnit.h
index 616dadbedcd18579392e6f973fc16e68093a9f1a..96b5a5dfe7fe281ab019eb7f902626f3c635bea2 100644
--- a/source/RobotAPI/components/units/TCPControlUnit.h
+++ b/source/RobotAPI/components/units/TCPControlUnit.h
@@ -58,7 +58,7 @@ namespace armarx
     };
 
     /**
-     * \class TCPControlUnit
+     * \defgroup Component-TCPControlUnit TCPControlUnit
      * \ingroup RobotAPI-SensorActorUnits
      * \brief Unit for controlling a tool center point (TCP).
      *
@@ -75,6 +75,11 @@ namespace armarx
      *
      * \note After usage release() **must** be called to stop the recalcuation and setting of joint velocities.
      */
+
+    /**
+     * @ingroup Component-TCPControlUnit
+     * @brief The TCPControlUnit class
+     */
     class TCPControlUnit :
             virtual public Component,
             virtual public TCPControlUnitInterface