Index: /orxonox/trunk/src/story_entities/world.cc
===================================================================
--- /orxonox/trunk/src/story_entities/world.cc	(revision 4488)
+++ /orxonox/trunk/src/story_entities/world.cc	(revision 4489)
@@ -409,5 +409,5 @@
       PRINTF(4)("Loading Track\n");
 
-      trackManager->load( element);
+      trackManager->loadParams( element);
       trackManager->finalize();
     }
Index: /orxonox/trunk/src/util/track/track_manager.cc
===================================================================
--- /orxonox/trunk/src/util/track/track_manager.cc	(revision 4488)
+++ /orxonox/trunk/src/util/track/track_manager.cc	(revision 4489)
@@ -148,7 +148,10 @@
    \brief checks if there are any BackLoops in the Track (Backloops only 
    \param trackElem the trackElement to check about
+   \param depth the depth to search in
    \returns true if NO loop was found, false Otherwise
    You actually have to act on false!!
    it simply does this by looking if the current trackElem is found again somewhere else in the Track
+
+   \todo this has to be reimplemented
 */
 bool TrackElement::backLoopCheck(const TrackElement* trackElem, unsigned int depth) const
@@ -177,5 +180,5 @@
 
 /**
-   \param childNumber which child to return
+   \param childCount which child to return
    \returns the n-the children (starting at 0). 
    Be aware, that when the trackElement has no Children, NULL will be returned
@@ -217,12 +220,4 @@
 
 /**
-   \returns The name of this TrackElement
-*/
-const char* TrackElement::getName(void) const
-{
-  return this->name;
-}
-
-/**
    \brief prints out debug information about this TrackElement
 */
@@ -404,5 +399,5 @@
    \param root the TiXmlElement to load the Data from
 */
-bool TrackManager::load( TiXmlElement* root)
+bool TrackManager::loadParams( TiXmlElement* root)
 {
   TiXmlElement* element;
@@ -489,6 +484,4 @@
 }
 
-
-
 /**
    \brief standard destructor
@@ -509,17 +502,4 @@
 //! Singleton Reference to TrackManager
 TrackManager* TrackManager::singletonRef = NULL;
-
-/**
-   \returns The reference on the TrackManager.
-
-   If the TrackManager does not exist, it will be created.
-*/
-TrackManager* TrackManager::getInstance(void) 
-{
-  if (!TrackManager::singletonRef)
-    TrackManager::singletonRef = new TrackManager();
-  return TrackManager::singletonRef;
-}
-
 
 // INITIALIZE //
@@ -655,4 +635,5 @@
    \brief adds save/splitpoint.
    \param newPoint The point to add.
+   \param trackElem if supplied it will add a hotpoint on this TrackElement
    \returns A Pointer to a newly appended Curve
 */
@@ -721,5 +702,6 @@
 
 /**
-   \param string the String to parse.
+   \param count how many children to produce
+   \param ... the information on the children (these are the Stings of their names
    \see TrackManager::fork(unsigned int count, ...)
 
@@ -760,4 +742,5 @@
    \param count The Count of childrens the current HotPoint will have.
    \param trackIDs A Pointer to an Array of ints which will hold the trackID's (the user will have to reserve space for this).
+   \param trackNames the names for the tracks as a char-arrey-array 
    \param trackElem The TrackElement to appy this to. (if NULL choose this->currentTrackElement)
    \see TrackManager::fork(unsigned int count, ...)
Index: /orxonox/trunk/src/util/track/track_manager.h
===================================================================
--- /orxonox/trunk/src/util/track/track_manager.h	(revision 4488)
+++ /orxonox/trunk/src/util/track/track_manager.h	(revision 4489)
@@ -16,5 +16,5 @@
 
 #ifndef NULL
-#define NULL 0
+#define NULL   0  //!< NULL
 #endif
 
@@ -28,8 +28,10 @@
 // Static Definitions
 
-//! The Default Curve-Type to set for the whole path (if not chosen otherwise).
-#define TMAN_DEFAULT_CURVETYPE CURVE_BEZIER
-#define TMAN_DEFAULT_DURATION 10
-#define TMAN_DEFAULT_WIDTH    10
+//! The default Curve-Type to set for the whole path (if not chosen otherwise).
+#define TMAN_DEFAULT_CURVETYPE    CURVE_BEZIER
+//! A default value for the duration for each TrackElement
+#define TMAN_DEFAULT_DURATION     10
+//! A default width for the width of a TrackElement
+#define TMAN_DEFAULT_WIDTH        10
 
 //! A Graph-Element, that holds the curve-structure of a Level.
@@ -50,23 +52,25 @@
   TrackElement* getChild(int childNumber) const;
   void setName(const char* name);
-  const char* getName(void) const;
+  /** \returns the Name of this TrackElement */
+  inline const char* getName(void) const { return this->name; };
+
 
   // atributes
-  bool isFresh;              //!< If no Points where added until now
-  bool isHotPoint;           //!< If the first node is a specialPoint;
-  bool isSavePoint;          //!< If the first node is a savePoint
-  bool isFork;               //!< If the first node is a Fork
-  bool isJoined;             //!< If the End of the Curve is joined.
-  bool mainJoin;             //!< If the End of the Curve is joined, and this is the one Curve the others join to.
-  int ID;                    //!< The ID of this TrackElement
-  float startingTime;        //!< The time at which this Track begins.
-  float duration;            //!< The time used to cross this TrackElement (curve).
-  float endTime;             //!< The time at which this Track ends.
-  float jumpTime;            //!< The Time this Track has to jump to its preceding Track (only >0 if Track isJoined==true)
-  float width;               //!< Th width of the Path. This tells the Player(s), how far he(they) can go to the left/right.
-  int nodeCount;             //!< The count of points this TrackElement has.
-  Curve* curve;              //!< The Curve of this TrackElement
-  int childCount;            //!< The number of Children This TrackElement has.
-  tList<TrackElement>* children;   //!< A TrackElement can have a Tree of following TrackElements.
+  bool                  isFresh;              //!< If no Points where added until now
+  bool                  isHotPoint;           //!< If the first node is a specialPoint;
+  bool                  isSavePoint;          //!< If the first node is a savePoint
+  bool                  isFork;               //!< If the first node is a Fork
+  bool                  isJoined;             //!< If the End of the Curve is joined.
+  bool                  mainJoin;             //!< If the End of the Curve is joined, and this is the one Curve the others join to.
+  int                   ID;                   //!< The ID of this TrackElement
+  float                 startingTime;         //!< The time at which this Track begins.
+  float                 duration;             //!< The time used to cross this TrackElement (curve).
+  float                 endTime;              //!< The time at which this Track ends.
+  float                 jumpTime;             //!< The Time this Track has to jump to its preceding Track (only >0 if Track isJoined==true)
+  float                 width;                //!< Th width of the Path. This tells the Player(s), how far he(they) can go to the left/right.
+  int                   nodeCount;            //!< The count of points this TrackElement has.
+  Curve*                curve;                //!< The Curve of this TrackElement
+  int                   childCount;           //!< The number of Children This TrackElement has.
+  tList<TrackElement>*  children;             //!< A TrackElement can have a Tree of following TrackElements.
 
 
@@ -133,30 +137,10 @@
 class TrackManager : public BaseObject
 {
- private:
-  TrackManager(void);
-
-  static TrackManager* singletonRef;  //!< There may only be one TrackManager.
-
-  TrackElement* firstTrackElem;       //!< The first TrackElement that exists.
-  TrackElement* currentTrackElem;     //!< The TrackElement we are working on.
-  CurveType curveType;                //!< The CurveType the entire TrackSystem will have.
-  float localTime;                    //!< The time that has been passed since the traveling the Track.
-  float maxTime;                      //!< The maximal time the track has.
-  int trackElemCount;                 //!< The count of TrackElements that exist.
-
-  // external
-  PNode* bindSlave;                   //!< The node that is slave to the TrackManager. This node will be moved while update the TrackManager, and must NOT move itself.
-  PNode* trackNode;                   //!< The main TrackNode of this Track.
-  Text* trackText;                    //!< The text to display when switching between Worlds.
-  tAnimation<Text>* textAnimation;    //!< An Animation for the Text.
-  
-  void initChildren(unsigned int childCount, TrackElement* trackElem = NULL);
-
  public:
   virtual ~TrackManager(void);
-
-  static TrackManager* getInstance(void);
-
-  bool load(TiXmlElement* root);
+  /** \returns a Pointer to the only object of this Class */
+  inline static TrackManager* getInstance(void) { if (!singletonRef) singletonRef = new TrackManager();  return singletonRef; };
+
+  bool loadParams(TiXmlElement* root);
 
   // Methods to change the Path (initialisation)
@@ -197,4 +181,24 @@
   void drawGraph(float dt) const;
   void debug(unsigned int level) const;
+
+ private:
+  TrackManager(void);
+  void initChildren(unsigned int childCount, TrackElement* trackElem = NULL);
+
+ private:
+  static TrackManager* singletonRef;           //!< There may only be one TrackManager.
+
+  TrackElement*        firstTrackElem;         //!< The first TrackElement that exists.
+  TrackElement*        currentTrackElem;       //!< The TrackElement we are working on.
+  CurveType            curveType;              //!< The CurveType the entire TrackSystem will have.
+  float                localTime;              //!< The time that has been passed since the traveling the Track.
+  float                maxTime;                //!< The maximal time the track has.
+  int                  trackElemCount;         //!< The count of TrackElements that exist.
+
+  // external
+  PNode*               bindSlave;              //!< The node that is slave to the TrackManager. This node will be moved while update the TrackManager, and must NOT move itself.
+  PNode*               trackNode;              //!< The main TrackNode of this Track.
+  Text*                trackText;              //!< The text to display when switching between Worlds.
+  tAnimation<Text>*    textAnimation;          //!< An Animation for the Text. (for fading it out on trackName-change)
 };
 
Index: /orxonox/trunk/src/util/track/track_node.cc
===================================================================
--- /orxonox/trunk/src/util/track/track_node.cc	(revision 4488)
+++ /orxonox/trunk/src/util/track/track_node.cc	(revision 4489)
@@ -27,6 +27,4 @@
 /**
    \brief standard constructor
-
-   \todo this constructor is not jet implemented - do it
 */
 TrackNode::TrackNode () 
@@ -43,6 +41,4 @@
 /**
    \brief standard deconstructor
-
-   \todo this deconstructor is not jet implemented - do it
 */
 TrackNode::~TrackNode () 
Index: /orxonox/trunk/src/util/track/track_node.h
===================================================================
--- /orxonox/trunk/src/util/track/track_node.h	(revision 4488)
+++ /orxonox/trunk/src/util/track/track_node.h	(revision 4489)
@@ -17,4 +17,5 @@
 class TrackManager;
 
+//! A node that follows the track.
 class TrackNode : public PNode 
 {
@@ -22,10 +23,8 @@
  public:
   TrackNode ();
-  TrackNode (const Vector& absCoordinate);
-
   virtual ~TrackNode ();
 
  private:
-  TrackManager* trackManager;
+  TrackManager* trackManager;         //!< reference to the TrackManager
 
 };
