Index: doc/groups.dox
===================================================================
--- doc/groups.dox	(revision 236)
+++ doc/groups.dox	(revision 318)
@@ -55,5 +55,7 @@
 You are free to use the graph structure that fit your requirements
 the best, most graph algorithms and auxiliary data structures can be used
-with any graph structures.
+with any graph structure.
+
+<b>See also:</b> \ref graph_concepts "Graph Structure Concepts".
 */
 
@@ -75,6 +77,8 @@
 This group describes the map structures implemented in LEMON.
 
-LEMON provides several special purpose maps that e.g. combine
+LEMON provides several special purpose maps and map adaptors that e.g. combine
 new maps from existing ones.
+
+<b>See also:</b> \ref map_concepts "Map Concepts".
 */
 
@@ -87,5 +91,4 @@
 values to the nodes and arcs of graphs.
 */
-
 
 /**
@@ -105,5 +108,5 @@
 algorithms.  If a function type algorithm is called then the function
 type map adaptors can be used comfortable. For example let's see the
-usage of map adaptors with the \c digraphToEps() function.
+usage of map adaptors with the \c graphToEps() function.
 \code
   Color nodeColor(int deg) {
@@ -119,5 +122,5 @@
   Digraph::NodeMap<int> degree_map(graph);
 
-  digraphToEps(graph, "graph.eps")
+  graphToEps(graph, "graph.eps")
     .coords(coords).scaleToA4().undirected()
     .nodeColors(composeMap(functorToMap(nodeColor), degree_map))
@@ -125,5 +128,5 @@
 \endcode
 The \c functorToMap() function makes an \c int to \c Color map from the
-\e nodeColor() function. The \c composeMap() compose the \e degree_map
+\c nodeColor() function. The \c composeMap() compose the \c degree_map
 and the previously created map. The composed map is a proper function to
 get the color of each node.
@@ -174,5 +177,4 @@
 
 \sa lemon::concepts::Path
-
 */
 
@@ -186,5 +188,4 @@
 */
 
-
 /**
 @defgroup algs Algorithms
@@ -202,9 +203,9 @@
 
 This group describes the common graph search algorithms like
-Breadth-first search (Bfs) and Depth-first search (Dfs).
-*/
-
-/**
-@defgroup shortest_path Shortest Path algorithms
+Breadth-First Search (BFS) and Depth-First Search (DFS).
+*/
+
+/**
+@defgroup shortest_path Shortest Path Algorithms
 @ingroup algs
 \brief Algorithms for finding shortest paths.
@@ -214,5 +215,5 @@
 
 /**
-@defgroup max_flow Maximum Flow algorithms
+@defgroup max_flow Maximum Flow Algorithms
 @ingroup algs
 \brief Algorithms for finding maximum flows.
@@ -242,9 +243,8 @@
 provides functions to query the minimum cut, which is the dual linear
 programming problem of the maximum flow.
-
-*/
-
-/**
-@defgroup min_cost_flow Minimum Cost Flow algorithms
+*/
+
+/**
+@defgroup min_cost_flow Minimum Cost Flow Algorithms
 @ingroup algs
 
@@ -256,5 +256,5 @@
 
 /**
-@defgroup min_cut Minimum Cut algorithms
+@defgroup min_cut Minimum Cut Algorithms
 @ingroup algs
 
@@ -283,9 +283,8 @@
 If you want to find minimum cut just between two distinict nodes,
 please see the \ref max_flow "Maximum Flow page".
-
-*/
-
-/**
-@defgroup graph_prop Connectivity and other graph properties
+*/
+
+/**
+@defgroup graph_prop Connectivity and Other Graph Properties
 @ingroup algs
 \brief Algorithms for discovering the graph properties
@@ -299,5 +298,5 @@
 
 /**
-@defgroup planar Planarity embedding and drawing
+@defgroup planar Planarity Embedding and Drawing
 @ingroup algs
 \brief Algorithms for planarity checking, embedding and drawing
@@ -311,5 +310,5 @@
 
 /**
-@defgroup matching Matching algorithms
+@defgroup matching Matching Algorithms
 @ingroup algs
 \brief Algorithms for finding matchings in graphs and bipartite graphs.
@@ -349,9 +348,8 @@
 \image html bipartite_matching.png
 \image latex bipartite_matching.eps "Bipartite Matching" width=\textwidth
-
-*/
-
-/**
-@defgroup spantree Minimum Spanning Tree algorithms
+*/
+
+/**
+@defgroup spantree Minimum Spanning Tree Algorithms
 @ingroup algs
 \brief Algorithms for finding a minimum cost spanning tree in a graph.
@@ -361,7 +359,6 @@
 */
 
-
-/**
-@defgroup auxalg Auxiliary algorithms
+/**
+@defgroup auxalg Auxiliary Algorithms
 @ingroup algs
 \brief Auxiliary algorithms implemented in LEMON.
@@ -372,5 +369,6 @@
 
 /**
-@defgroup approx Approximation algorithms
+@defgroup approx Approximation Algorithms
+@ingroup algs
 \brief Approximation algorithms.
 
@@ -386,9 +384,8 @@
 This group describes some general optimization frameworks
 implemented in LEMON.
-
-*/
-
-/**
-@defgroup lp_group Lp and Mip solvers
+*/
+
+/**
+@defgroup lp_group Lp and Mip Solvers
 @ingroup gen_opt_group
 \brief Lp and Mip solver interfaces for LEMON.
@@ -397,9 +394,8 @@
 various LP solvers could be used in the same manner with this
 interface.
-
-*/
-
-/**
-@defgroup lp_utils Tools for Lp and Mip solvers
+*/
+
+/**
+@defgroup lp_utils Tools for Lp and Mip Solvers
 @ingroup lp_group
 \brief Helper tools to the Lp and Mip solvers.
@@ -442,5 +438,5 @@
 
 /**
-@defgroup timecount Time measuring and Counting
+@defgroup timecount Time Measuring and Counting
 @ingroup misc
 \brief Simple tools for measuring the performance of algorithms.
@@ -448,13 +444,4 @@
 This group describes simple tools for measuring the performance
 of algorithms.
-*/
-
-/**
-@defgroup graphbits Tools for Graph Implementation
-@ingroup utils
-\brief Tools to make it easier to create graphs.
-
-This group describes the tools that makes it easier to create graphs and
-the maps that dynamically update with the graph changes.
 */
 
@@ -472,6 +459,7 @@
 
 This group describes the tools for importing and exporting graphs
-and graph related data. Now it supports the LEMON format, the
-\c DIMACS format and the encapsulated postscript (EPS) format.
+and graph related data. Now it supports the \ref lgf-format
+"LEMON Graph Format", the \c DIMACS format and the encapsulated
+postscript (EPS) format.
 */
 
@@ -479,5 +467,5 @@
 @defgroup lemon_io LEMON Input-Output
 @ingroup io_group
-\brief Reading and writing \ref lgf-format "LEMON Graph Format".
+\brief Reading and writing LEMON Graph Format.
 
 This group describes methods for reading and writing
@@ -486,5 +474,5 @@
 
 /**
-@defgroup eps_io Postscript exporting
+@defgroup eps_io Postscript Exporting
 @ingroup io_group
 \brief General \c EPS drawer and graph exporter
@@ -493,5 +481,4 @@
 graph exporting tools.
 */
-
 
 /**
@@ -522,7 +509,5 @@
 
 - Finally, They can serve as a skeleton of a new implementation of a concept.
-
-*/
-
+*/
 
 /**
@@ -535,8 +520,10 @@
 */
 
-/* --- Unused group
-@defgroup experimental Experimental Structures and Algorithms
-This group describes some Experimental structures and algorithms.
-The stuff here is subject to change.
+/**
+@defgroup map_concepts Map Concepts
+@ingroup concept
+\brief Skeleton and concept checking classes for maps
+
+This group describes the skeletons and concept checking classes of maps.
 */
 
Index: doc/mainpage.dox
===================================================================
--- doc/mainpage.dox	(revision 311)
+++ doc/mainpage.dox	(revision 318)
@@ -51,5 +51,5 @@
 If you
 want to see how LEMON works, see
-some \ref demoprograms "demo programs"!
+some \ref demoprograms "demo programs".
 
 If you know what you are looking for then try to find it under the
@@ -57,4 +57,5 @@
 section.
 
-If you are a user of the old (0.x) series of LEMON, please check out the \ref migration "Migration Guide" for the backward incompatibilities.
+If you are a user of the old (0.x) series of LEMON, please check out the
+\ref migration "Migration Guide" for the backward incompatibilities.
 */
Index: doc/migration.dox
===================================================================
--- doc/migration.dox	(revision 312)
+++ doc/migration.dox	(revision 318)
@@ -58,5 +58,5 @@
 in strings, comments etc. as well as in all identifiers.</b>
 
-\section migration-lgf LGF tools 
+\section migration-lgf LGF tools
  - The \ref lgf-format "LGF file format" has changed,
    <tt>\@nodeset</tt> has changed to <tt>\@nodes</tt>,
Index: lemon/bits/alteration_notifier.h
===================================================================
--- lemon/bits/alteration_notifier.h	(revision 317)
+++ lemon/bits/alteration_notifier.h	(revision 318)
@@ -25,73 +25,73 @@
 #include <lemon/core.h>
 
-///\ingroup graphbits
-///\file
-///\brief Observer notifier for graph alteration observers.
+//\ingroup graphbits
+//\file
+//\brief Observer notifier for graph alteration observers.
 
 namespace lemon {
 
-  /// \ingroup graphbits
-  ///
-  /// \brief Notifier class to notify observes about alterations in
-  /// a container.
-  ///
-  /// The simple graph's can be refered as two containers, one node container
-  /// and one edge container. But they are not standard containers they
-  /// does not store values directly they are just key continars for more
-  /// value containers which are the node and edge maps.
-  ///
-  /// The graph's node and edge sets can be changed as we add or erase
-  /// nodes and edges in the graph. LEMON would like to handle easily
-  /// that the node and edge maps should contain values for all nodes or
-  /// edges. If we want to check on every indicing if the map contains
-  /// the current indicing key that cause a drawback in the performance
-  /// in the library. We use another solution we notify all maps about
-  /// an alteration in the graph, which cause only drawback on the
-  /// alteration of the graph.
-  ///
-  /// This class provides an interface to the container. The \e first() and \e
-  /// next() member functions make possible to iterate on the keys of the
-  /// container. The \e id() function returns an integer id for each key.
-  /// The \e maxId() function gives back an upper bound of the ids.
-  ///
-  /// For the proper functonality of this class, we should notify it
-  /// about each alteration in the container. The alterations have four type
-  /// as \e add(), \e erase(), \e build() and \e clear(). The \e add() and
-  /// \e erase() signals that only one or few items added or erased to or
-  /// from the graph. If all items are erased from the graph or from an empty
-  /// graph a new graph is builded then it can be signaled with the
-  /// clear() and build() members. Important rule that if we erase items
-  /// from graph we should first signal the alteration and after that erase
-  /// them from the container, on the other way on item addition we should
-  /// first extend the container and just after that signal the alteration.
-  ///
-  /// The alteration can be observed with a class inherited from the
-  /// \e ObserverBase nested class. The signals can be handled with
-  /// overriding the virtual functions defined in the base class.  The
-  /// observer base can be attached to the notifier with the
-  /// \e attach() member and can be detached with detach() function. The
-  /// alteration handlers should not call any function which signals
-  /// an other alteration in the same notifier and should not
-  /// detach any observer from the notifier.
-  ///
-  /// Alteration observers try to be exception safe. If an \e add() or
-  /// a \e clear() function throws an exception then the remaining
-  /// observeres will not be notified and the fulfilled additions will
-  /// be rolled back by calling the \e erase() or \e clear()
-  /// functions. Thence the \e erase() and \e clear() should not throw
-  /// exception. Actullay, it can be throw only \ref ImmediateDetach 
-  /// exception which detach the observer from the notifier.
-  ///
-  /// There are some place when the alteration observing is not completly
-  /// reliable. If we want to carry out the node degree in the graph
-  /// as in the \ref InDegMap and we use the reverseEdge that cause
-  /// unreliable functionality. Because the alteration observing signals
-  /// only erasing and adding but not the reversing it will stores bad
-  /// degrees. The sub graph adaptors cannot signal the alterations because
-  /// just a setting in the filter map can modify the graph and this cannot
-  /// be watched in any way.
-  ///
-  /// \param _Container The container which is observed.
-  /// \param _Item The item type which is obserbved.
+  // \ingroup graphbits
+  //
+  // \brief Notifier class to notify observes about alterations in
+  // a container.
+  //
+  // The simple graph's can be refered as two containers, one node container
+  // and one edge container. But they are not standard containers they
+  // does not store values directly they are just key continars for more
+  // value containers which are the node and edge maps.
+  //
+  // The graph's node and edge sets can be changed as we add or erase
+  // nodes and edges in the graph. LEMON would like to handle easily
+  // that the node and edge maps should contain values for all nodes or
+  // edges. If we want to check on every indicing if the map contains
+  // the current indicing key that cause a drawback in the performance
+  // in the library. We use another solution we notify all maps about
+  // an alteration in the graph, which cause only drawback on the
+  // alteration of the graph.
+  //
+  // This class provides an interface to the container. The \e first() and \e
+  // next() member functions make possible to iterate on the keys of the
+  // container. The \e id() function returns an integer id for each key.
+  // The \e maxId() function gives back an upper bound of the ids.
+  //
+  // For the proper functonality of this class, we should notify it
+  // about each alteration in the container. The alterations have four type
+  // as \e add(), \e erase(), \e build() and \e clear(). The \e add() and
+  // \e erase() signals that only one or few items added or erased to or
+  // from the graph. If all items are erased from the graph or from an empty
+  // graph a new graph is builded then it can be signaled with the
+  // clear() and build() members. Important rule that if we erase items
+  // from graph we should first signal the alteration and after that erase
+  // them from the container, on the other way on item addition we should
+  // first extend the container and just after that signal the alteration.
+  //
+  // The alteration can be observed with a class inherited from the
+  // \e ObserverBase nested class. The signals can be handled with
+  // overriding the virtual functions defined in the base class.  The
+  // observer base can be attached to the notifier with the
+  // \e attach() member and can be detached with detach() function. The
+  // alteration handlers should not call any function which signals
+  // an other alteration in the same notifier and should not
+  // detach any observer from the notifier.
+  //
+  // Alteration observers try to be exception safe. If an \e add() or
+  // a \e clear() function throws an exception then the remaining
+  // observeres will not be notified and the fulfilled additions will
+  // be rolled back by calling the \e erase() or \e clear()
+  // functions. Thence the \e erase() and \e clear() should not throw
+  // exception. Actullay, it can be throw only \ref ImmediateDetach
+  // exception which detach the observer from the notifier.
+  //
+  // There are some place when the alteration observing is not completly
+  // reliable. If we want to carry out the node degree in the graph
+  // as in the \ref InDegMap and we use the reverseEdge that cause
+  // unreliable functionality. Because the alteration observing signals
+  // only erasing and adding but not the reversing it will stores bad
+  // degrees. The sub graph adaptors cannot signal the alterations because
+  // just a setting in the filter map can modify the graph and this cannot
+  // be watched in any way.
+  //
+  // \param _Container The container which is observed.
+  // \param _Item The item type which is obserbved.
 
   template <typename _Container, typename _Item>
@@ -104,29 +104,28 @@
     typedef _Item Item;
 
-    /// \brief Exception which can be called from \e clear() and
-    /// \e erase().
-    ///
-    /// From the \e clear() and \e erase() function only this
-    /// exception is allowed to throw. The exception immediatly
-    /// detaches the current observer from the notifier. Because the
-    /// \e clear() and \e erase() should not throw other exceptions
-    /// it can be used to invalidate the observer.
+    // \brief Exception which can be called from \e clear() and
+    // \e erase().
+    //
+    // From the \e clear() and \e erase() function only this
+    // exception is allowed to throw. The exception immediatly
+    // detaches the current observer from the notifier. Because the
+    // \e clear() and \e erase() should not throw other exceptions
+    // it can be used to invalidate the observer.
     struct ImmediateDetach {};
 
-    /// \brief ObserverBase is the base class for the observers.
-    ///
-    /// ObserverBase is the abstract base class for the observers.
-    /// It will be notified about an item was inserted into or
-    /// erased from the graph.
-    ///
-    /// The observer interface contains some pure virtual functions
-    /// to override. The add() and erase() functions are
-    /// to notify the oberver when one item is added or
-    /// erased.
-    ///
-    /// The build() and clear() members are to notify the observer
-    /// about the container is built from an empty container or
-    /// is cleared to an empty container.
-
+    // \brief ObserverBase is the base class for the observers.
+    //
+    // ObserverBase is the abstract base class for the observers.
+    // It will be notified about an item was inserted into or
+    // erased from the graph.
+    //
+    // The observer interface contains some pure virtual functions
+    // to override. The add() and erase() functions are
+    // to notify the oberver when one item is added or
+    // erased.
+    //
+    // The build() and clear() members are to notify the observer
+    // about the container is built from an empty container or
+    // is cleared to an empty container.
     class ObserverBase {
     protected:
@@ -135,21 +134,20 @@
       friend class AlterationNotifier;
 
-      /// \brief Default constructor.
-      ///
-      /// Default constructor for ObserverBase.
-      ///
+      // \brief Default constructor.
+      //
+      // Default constructor for ObserverBase.
       ObserverBase() : _notifier(0) {}
 
-      /// \brief Constructor which attach the observer into notifier.
-      ///
-      /// Constructor which attach the observer into notifier.
+      // \brief Constructor which attach the observer into notifier.
+      //
+      // Constructor which attach the observer into notifier.
       ObserverBase(AlterationNotifier& nf) {
         attach(nf);
       }
 
-      /// \brief Constructor which attach the obserever to the same notifier.
-      ///
-      /// Constructor which attach the obserever to the same notifier as
-      /// the other observer is attached to.
+      // \brief Constructor which attach the obserever to the same notifier.
+      //
+      // Constructor which attach the obserever to the same notifier as
+      // the other observer is attached to.
       ObserverBase(const ObserverBase& copy) {
         if (copy.attached()) {
@@ -158,5 +156,5 @@
       }
 
-      /// \brief Destructor
+      // \brief Destructor
       virtual ~ObserverBase() {
         if (attached()) {
@@ -165,29 +163,26 @@
       }
 
-      /// \brief Attaches the observer into an AlterationNotifier.
-      ///
-      /// This member attaches the observer into an AlterationNotifier.
-      ///
+      // \brief Attaches the observer into an AlterationNotifier.
+      //
+      // This member attaches the observer into an AlterationNotifier.
       void attach(AlterationNotifier& nf) {
         nf.attach(*this);
       }
 
-      /// \brief Detaches the observer into an AlterationNotifier.
-      ///
-      /// This member detaches the observer from an AlterationNotifier.
-      ///
+      // \brief Detaches the observer into an AlterationNotifier.
+      //
+      // This member detaches the observer from an AlterationNotifier.
       void detach() {
         _notifier->detach(*this);
       }
 
-      /// \brief Gives back a pointer to the notifier which the map
-      /// attached into.
-      ///
-      /// This function gives back a pointer to the notifier which the map
-      /// attached into.
-      ///
+      // \brief Gives back a pointer to the notifier which the map
+      // attached into.
+      //
+      // This function gives back a pointer to the notifier which the map
+      // attached into.
       Notifier* notifier() const { return const_cast<Notifier*>(_notifier); }
 
-      /// Gives back true when the observer is attached into a notifier.
+      // Gives back true when the observer is attached into a notifier.
       bool attached() const { return _notifier != 0; }
 
@@ -201,51 +196,50 @@
       typename std::list<ObserverBase*>::iterator _index;
 
-      /// \brief The member function to notificate the observer about an
-      /// item is added to the container.
-      ///
-      /// The add() member function notificates the observer about an item
-      /// is added to the container. It have to be overrided in the
-      /// subclasses.
+      // \brief The member function to notificate the observer about an
+      // item is added to the container.
+      //
+      // The add() member function notificates the observer about an item
+      // is added to the container. It have to be overrided in the
+      // subclasses.
       virtual void add(const Item&) = 0;
 
-      /// \brief The member function to notificate the observer about
-      /// more item is added to the container.
-      ///
-      /// The add() member function notificates the observer about more item
-      /// is added to the container. It have to be overrided in the
-      /// subclasses.
+      // \brief The member function to notificate the observer about
+      // more item is added to the container.
+      //
+      // The add() member function notificates the observer about more item
+      // is added to the container. It have to be overrided in the
+      // subclasses.
       virtual void add(const std::vector<Item>& items) = 0;
 
-      /// \brief The member function to notificate the observer about an
-      /// item is erased from the container.
-      ///
-      /// The erase() member function notificates the observer about an
-      /// item is erased from the container. It have to be overrided in
-      /// the subclasses.
+      // \brief The member function to notificate the observer about an
+      // item is erased from the container.
+      //
+      // The erase() member function notificates the observer about an
+      // item is erased from the container. It have to be overrided in
+      // the subclasses.
       virtual void erase(const Item&) = 0;
 
-      /// \brief The member function to notificate the observer about
-      /// more item is erased from the container.
-      ///
-      /// The erase() member function notificates the observer about more item
-      /// is erased from the container. It have to be overrided in the
-      /// subclasses.
+      // \brief The member function to notificate the observer about
+      // more item is erased from the container.
+      //
+      // The erase() member function notificates the observer about more item
+      // is erased from the container. It have to be overrided in the
+      // subclasses.
       virtual void erase(const std::vector<Item>& items) = 0;
 
-      /// \brief The member function to notificate the observer about the
-      /// container is built.
-      ///
-      /// The build() member function notificates the observer about the
-      /// container is built from an empty container. It have to be
-      /// overrided in the subclasses.
-
+      // \brief The member function to notificate the observer about the
+      // container is built.
+      //
+      // The build() member function notificates the observer about the
+      // container is built from an empty container. It have to be
+      // overrided in the subclasses.
       virtual void build() = 0;
 
-      /// \brief The member function to notificate the observer about all
-      /// items are erased from the container.
-      ///
-      /// The clear() member function notificates the observer about all
-      /// items are erased from the container. It have to be overrided in
-      /// the subclasses.
+      // \brief The member function to notificate the observer about all
+      // items are erased from the container.
+      //
+      // The clear() member function notificates the observer about all
+      // items are erased from the container. It have to be overrided in
+      // the subclasses.
       virtual void clear() = 0;
 
@@ -262,29 +256,28 @@
   public:
 
-    /// \brief Default constructor.
-    ///
-    /// The default constructor of the AlterationNotifier.
-    /// It creates an empty notifier.
+    // \brief Default constructor.
+    //
+    // The default constructor of the AlterationNotifier.
+    // It creates an empty notifier.
     AlterationNotifier()
       : container(0) {}
 
-    /// \brief Constructor.
-    ///
-    /// Constructor with the observed container parameter.
+    // \brief Constructor.
+    //
+    // Constructor with the observed container parameter.
     AlterationNotifier(const Container& _container)
       : container(&_container) {}
 
-    /// \brief Copy Constructor of the AlterationNotifier.
-    ///
-    /// Copy constructor of the AlterationNotifier.
-    /// It creates only an empty notifier because the copiable
-    /// notifier's observers have to be registered still into that notifier.
+    // \brief Copy Constructor of the AlterationNotifier.
+    //
+    // Copy constructor of the AlterationNotifier.
+    // It creates only an empty notifier because the copiable
+    // notifier's observers have to be registered still into that notifier.
     AlterationNotifier(const AlterationNotifier& _notifier)
       : container(_notifier.container) {}
 
-    /// \brief Destructor.
-    ///
-    /// Destructor of the AlterationNotifier.
-    ///
+    // \brief Destructor.
+    //
+    // Destructor of the AlterationNotifier.
     ~AlterationNotifier() {
       typename Observers::iterator it;
@@ -294,7 +287,7 @@
     }
 
-    /// \brief Sets the container.
-    ///
-    /// Sets the container.
+    // \brief Sets the container.
+    //
+    // Sets the container.
     void setContainer(const Container& _container) {
       container = &_container;
@@ -307,32 +300,30 @@
   public:
 
-
-
-    /// \brief First item in the container.
-    ///
-    /// Returns the first item in the container. It is
-    /// for start the iteration on the container.
+    // \brief First item in the container.
+    //
+    // Returns the first item in the container. It is
+    // for start the iteration on the container.
     void first(Item& item) const {
       container->first(item);
     }
 
-    /// \brief Next item in the container.
-    ///
-    /// Returns the next item in the container. It is
-    /// for iterate on the container.
+    // \brief Next item in the container.
+    //
+    // Returns the next item in the container. It is
+    // for iterate on the container.
     void next(Item& item) const {
       container->next(item);
     }
 
-    /// \brief Returns the id of the item.
-    ///
-    /// Returns the id of the item provided by the container.
+    // \brief Returns the id of the item.
+    //
+    // Returns the id of the item provided by the container.
     int id(const Item& item) const {
       return container->id(item);
     }
 
-    /// \brief Returns the maximum id of the container.
-    ///
-    /// Returns the maximum id of the container.
+    // \brief Returns the maximum id of the container.
+    //
+    // Returns the maximum id of the container.
     int maxId() const {
       return container->maxId(Item());
@@ -354,10 +345,9 @@
   public:
 
-    /// \brief Notifies all the registed observers about an item added to
-    /// the container.
-    ///
-    /// It notifies all the registed observers about an item added to
-    /// the container.
-    ///
+    // \brief Notifies all the registed observers about an item added to
+    // the container.
+    //
+    // It notifies all the registed observers about an item added to
+    // the container.
     void add(const Item& item) {
       typename Observers::reverse_iterator it;
@@ -375,10 +365,9 @@
     }
 
-    /// \brief Notifies all the registed observers about more item added to
-    /// the container.
-    ///
-    /// It notifies all the registed observers about more item added to
-    /// the container.
-    ///
+    // \brief Notifies all the registed observers about more item added to
+    // the container.
+    //
+    // It notifies all the registed observers about more item added to
+    // the container.
     void add(const std::vector<Item>& items) {
       typename Observers::reverse_iterator it;
@@ -396,10 +385,9 @@
     }
 
-    /// \brief Notifies all the registed observers about an item erased from
-    /// the container.
-    ///
-    /// It notifies all the registed observers about an item erased from
-    /// the container.
-    ///
+    // \brief Notifies all the registed observers about an item erased from
+    // the container.
+    //
+    // It notifies all the registed observers about an item erased from
+    // the container.
     void erase(const Item& item) throw() {
       typename Observers::iterator it = _observers.begin();
@@ -416,10 +404,9 @@
     }
 
-    /// \brief Notifies all the registed observers about more item erased
-    /// from the container.
-    ///
-    /// It notifies all the registed observers about more item erased from
-    /// the container.
-    ///
+    // \brief Notifies all the registed observers about more item erased
+    // from the container.
+    //
+    // It notifies all the registed observers about more item erased from
+    // the container.
     void erase(const std::vector<Item>& items) {
       typename Observers::iterator it = _observers.begin();
@@ -436,9 +423,9 @@
     }
 
-    /// \brief Notifies all the registed observers about the container is
-    /// built.
-    ///
-    /// Notifies all the registed observers about the container is built
-    /// from an empty container.
+    // \brief Notifies all the registed observers about the container is
+    // built.
+    //
+    // Notifies all the registed observers about the container is built
+    // from an empty container.
     void build() {
       typename Observers::reverse_iterator it;
@@ -456,9 +443,9 @@
     }
 
-    /// \brief Notifies all the registed observers about all items are
-    /// erased.
-    ///
-    /// Notifies all the registed observers about all items are erased
-    /// from the container.
+    // \brief Notifies all the registed observers about all items are
+    // erased.
+    //
+    // Notifies all the registed observers about all items are erased
+    // from the container.
     void clear() {
       typename Observers::iterator it = _observers.begin();
Index: lemon/bits/array_map.h
===================================================================
--- lemon/bits/array_map.h	(revision 263)
+++ lemon/bits/array_map.h	(revision 318)
@@ -27,46 +27,46 @@
 #include <lemon/concepts/maps.h>
 
-/// \ingroup graphbits
-/// \file
-/// \brief Graph map based on the array storage.
+// \ingroup graphbits
+// \file
+// \brief Graph map based on the array storage.
 
 namespace lemon {
 
-  /// \ingroup graphbits
-  ///
-  /// \brief Graph map based on the array storage.
-  ///
-  /// The ArrayMap template class is graph map structure what
-  /// automatically updates the map when a key is added to or erased from
-  /// the map. This map uses the allocators to implement
-  /// the container functionality.
-  ///
-  /// The template parameters are the Graph the current Item type and
-  /// the Value type of the map.
+  // \ingroup graphbits
+  //
+  // \brief Graph map based on the array storage.
+  //
+  // The ArrayMap template class is graph map structure what
+  // automatically updates the map when a key is added to or erased from
+  // the map. This map uses the allocators to implement
+  // the container functionality.
+  //
+  // The template parameters are the Graph the current Item type and
+  // the Value type of the map.
   template <typename _Graph, typename _Item, typename _Value>
   class ArrayMap
     : public ItemSetTraits<_Graph, _Item>::ItemNotifier::ObserverBase {
   public:
-    /// The graph type of the maps.
+    // The graph type of the maps.
     typedef _Graph Graph;
-    /// The item type of the map.
+    // The item type of the map.
     typedef _Item Item;
-    /// The reference map tag.
+    // The reference map tag.
     typedef True ReferenceMapTag;
 
-    /// The key type of the maps.
+    // The key type of the maps.
     typedef _Item Key;
-    /// The value type of the map.
+    // The value type of the map.
     typedef _Value Value;
 
-    /// The const reference type of the map.
+    // The const reference type of the map.
     typedef const _Value& ConstReference;
-    /// The reference type of the map.
+    // The reference type of the map.
     typedef _Value& Reference;
 
-    /// The notifier type.
+    // The notifier type.
     typedef typename ItemSetTraits<_Graph, _Item>::ItemNotifier Notifier;
 
-    /// The MapBase of the Map which imlements the core regisitry function.
+    // The MapBase of the Map which imlements the core regisitry function.
     typedef typename Notifier::ObserverBase Parent;
 
@@ -76,7 +76,7 @@
   public:
 
-    /// \brief Graph initialized map constructor.
-    ///
-    /// Graph initialized map constructor.
+    // \brief Graph initialized map constructor.
+    //
+    // Graph initialized map constructor.
     explicit ArrayMap(const Graph& graph) {
       Parent::attach(graph.notifier(Item()));
@@ -90,7 +90,7 @@
     }
 
-    /// \brief Constructor to use default value to initialize the map.
-    ///
-    /// It constructs a map and initialize all of the the map.
+    // \brief Constructor to use default value to initialize the map.
+    //
+    // It constructs a map and initialize all of the the map.
     ArrayMap(const Graph& graph, const Value& value) {
       Parent::attach(graph.notifier(Item()));
@@ -105,7 +105,7 @@
 
   private:
-    /// \brief Constructor to copy a map of the same map type.
-    ///
-    /// Constructor to copy a map of the same map type.
+    // \brief Constructor to copy a map of the same map type.
+    //
+    // Constructor to copy a map of the same map type.
     ArrayMap(const ArrayMap& copy) : Parent() {
       if (copy.attached()) {
@@ -123,11 +123,11 @@
     }
 
-    /// \brief Assign operator.
-    ///
-    /// This operator assigns for each item in the map the
-    /// value mapped to the same item in the copied map.
-    /// The parameter map should be indiced with the same
-    /// itemset because this assign operator does not change
-    /// the container of the map.
+    // \brief Assign operator.
+    //
+    // This operator assigns for each item in the map the
+    // value mapped to the same item in the copied map.
+    // The parameter map should be indiced with the same
+    // itemset because this assign operator does not change
+    // the container of the map.
     ArrayMap& operator=(const ArrayMap& cmap) {
       return operator=<ArrayMap>(cmap);
@@ -135,10 +135,10 @@
 
 
-    /// \brief Template assign operator.
-    ///
-    /// The given parameter should be conform to the ReadMap
-    /// concecpt and could be indiced by the current item set of
-    /// the NodeMap. In this case the value for each item
-    /// is assigned by the value of the given ReadMap.
+    // \brief Template assign operator.
+    //
+    // The given parameter should be conform to the ReadMap
+    // concecpt and could be indiced by the current item set of
+    // the NodeMap. In this case the value for each item
+    // is assigned by the value of the given ReadMap.
     template <typename CMap>
     ArrayMap& operator=(const CMap& cmap) {
@@ -153,7 +153,7 @@
 
   public:
-    /// \brief The destructor of the map.
-    ///
-    /// The destructor of the map.
+    // \brief The destructor of the map.
+    //
+    // The destructor of the map.
     virtual ~ArrayMap() {
       if (attached()) {
@@ -171,8 +171,8 @@
   public:
 
-    /// \brief The subscript operator.
-    ///
-    /// The subscript operator. The map can be subscripted by the
-    /// actual keys of the graph.
+    // \brief The subscript operator.
+    //
+    // The subscript operator. The map can be subscripted by the
+    // actual keys of the graph.
     Value& operator[](const Key& key) {
       int id = Parent::notifier()->id(key);
@@ -180,8 +180,8 @@
     }
 
-    /// \brief The const subscript operator.
-    ///
-    /// The const subscript operator. The map can be subscripted by the
-    /// actual keys of the graph.
+    // \brief The const subscript operator.
+    //
+    // The const subscript operator. The map can be subscripted by the
+    // actual keys of the graph.
     const Value& operator[](const Key& key) const {
       int id = Parent::notifier()->id(key);
@@ -189,8 +189,8 @@
     }
 
-    /// \brief Setter function of the map.
-    ///
-    /// Setter function of the map. Equivalent with map[key] = val.
-    /// This is a compatibility feature with the not dereferable maps.
+    // \brief Setter function of the map.
+    //
+    // Setter function of the map. Equivalent with map[key] = val.
+    // This is a compatibility feature with the not dereferable maps.
     void set(const Key& key, const Value& val) {
       (*this)[key] = val;
@@ -199,8 +199,8 @@
   protected:
 
-    /// \brief Adds a new key to the map.
-    ///
-    /// It adds a new key to the map. It called by the observer notifier
-    /// and it overrides the add() member function of the observer base.
+    // \brief Adds a new key to the map.
+    //
+    // It adds a new key to the map. It called by the observer notifier
+    // and it overrides the add() member function of the observer base.
     virtual void add(const Key& key) {
       Notifier* nf = Parent::notifier();
@@ -227,8 +227,8 @@
     }
 
-    /// \brief Adds more new keys to the map.
-    ///
-    /// It adds more new keys to the map. It called by the observer notifier
-    /// and it overrides the add() member function of the observer base.
+    // \brief Adds more new keys to the map.
+    //
+    // It adds more new keys to the map. It called by the observer notifier
+    // and it overrides the add() member function of the observer base.
     virtual void add(const std::vector<Key>& keys) {
       Notifier* nf = Parent::notifier();
@@ -271,8 +271,8 @@
     }
 
-    /// \brief Erase a key from the map.
-    ///
-    /// Erase a key from the map. It called by the observer notifier
-    /// and it overrides the erase() member function of the observer base.
+    // \brief Erase a key from the map.
+    //
+    // Erase a key from the map. It called by the observer notifier
+    // and it overrides the erase() member function of the observer base.
     virtual void erase(const Key& key) {
       int id = Parent::notifier()->id(key);
@@ -280,8 +280,8 @@
     }
 
-    /// \brief Erase more keys from the map.
-    ///
-    /// Erase more keys from the map. It called by the observer notifier
-    /// and it overrides the erase() member function of the observer base.
+    // \brief Erase more keys from the map.
+    //
+    // Erase more keys from the map. It called by the observer notifier
+    // and it overrides the erase() member function of the observer base.
     virtual void erase(const std::vector<Key>& keys) {
       for (int i = 0; i < int(keys.size()); ++i) {
@@ -291,8 +291,8 @@
     }
 
-    /// \brief Buildes the map.
-    ///
-    /// It buildes the map. It called by the observer notifier
-    /// and it overrides the build() member function of the observer base.
+    // \brief Buildes the map.
+    //
+    // It buildes the map. It called by the observer notifier
+    // and it overrides the build() member function of the observer base.
     virtual void build() {
       Notifier* nf = Parent::notifier();
@@ -305,8 +305,8 @@
     }
 
-    /// \brief Clear the map.
-    ///
-    /// It erase all items from the map. It called by the observer notifier
-    /// and it overrides the clear() member function of the observer base.
+    // \brief Clear the map.
+    //
+    // It erase all items from the map. It called by the observer notifier
+    // and it overrides the clear() member function of the observer base.
     virtual void clear() {
       Notifier* nf = Parent::notifier();
Index: lemon/bits/base_extender.h
===================================================================
--- lemon/bits/base_extender.h	(revision 289)
+++ lemon/bits/base_extender.h	(revision 318)
@@ -29,12 +29,12 @@
 #include <lemon/concepts/maps.h>
 
-///\ingroup digraphbits
-///\file
-///\brief Extenders for the digraph types
+//\ingroup digraphbits
+//\file
+//\brief Extenders for the digraph types
 namespace lemon {
 
-  /// \ingroup digraphbits
-  ///
-  /// \brief BaseDigraph to BaseGraph extender
+  // \ingroup digraphbits
+  //
+  // \brief BaseDigraph to BaseGraph extender
   template <typename Base>
   class UndirDigraphExtender : public Base {
@@ -75,35 +75,35 @@
     };
 
-    /// First node of the edge
+    // First node of the edge
     Node u(const Edge &e) const {
       return Parent::source(e);
     }
 
-    /// Source of the given arc
+    // Source of the given arc
     Node source(const Arc &e) const {
       return e.forward ? Parent::source(e) : Parent::target(e);
     }
 
-    /// Second node of the edge
+    // Second node of the edge
     Node v(const Edge &e) const {
       return Parent::target(e);
     }
 
-    /// Target of the given arc
+    // Target of the given arc
     Node target(const Arc &e) const {
       return e.forward ? Parent::target(e) : Parent::source(e);
     }
 
-    /// \brief Directed arc from an edge.
-    ///
-    /// Returns a directed arc corresponding to the specified edge.
-    /// If the given bool is true, the first node of the given edge and
-    /// the source node of the returned arc are the same.
+    // \brief Directed arc from an edge.
+    //
+    // Returns a directed arc corresponding to the specified edge.
+    // If the given bool is true, the first node of the given edge and
+    // the source node of the returned arc are the same.
     static Arc direct(const Edge &e, bool d) {
       return Arc(e, d);
     }
 
-    /// Returns whether the given directed arc has the same orientation
-    /// as the corresponding edge.
+    // Returns whether the given directed arc has the same orientation
+    // as the corresponding edge.
     static bool direction(const Arc &a) { return a.forward; }
 
Index: lemon/bits/bezier.h
===================================================================
--- lemon/bits/bezier.h	(revision 209)
+++ lemon/bits/bezier.h	(revision 318)
@@ -20,9 +20,9 @@
 #define LEMON_BEZIER_H
 
-///\ingroup misc
-///\file
-///\brief Classes to compute with Bezier curves.
-///
-///Up to now this file is used internally by \ref graph_to_eps.h
+//\ingroup misc
+//\file
+//\brief Classes to compute with Bezier curves.
+//
+//Up to now this file is used internally by \ref graph_to_eps.h
 
 #include<lemon/dim2.h>
Index: lemon/bits/default_map.h
===================================================================
--- lemon/bits/default_map.h	(revision 317)
+++ lemon/bits/default_map.h	(revision 318)
@@ -20,12 +20,11 @@
 #define LEMON_BITS_DEFAULT_MAP_H
 
-
 #include <lemon/bits/array_map.h>
 #include <lemon/bits/vector_map.h>
 //#include <lemon/bits/debug_map.h>
 
-///\ingroup graphbits
-///\file
-///\brief Graph maps that construct and destruct their elements dynamically.
+//\ingroup graphbits
+//\file
+//\brief Graph maps that construct and destruct their elements dynamically.
 
 namespace lemon {
@@ -150,5 +149,5 @@
 // #endif
 
-  /// DefaultMap class
+  // DefaultMap class
   template <typename _Graph, typename _Item, typename _Value>
   class DefaultMap
Index: lemon/bits/enable_if.h
===================================================================
--- lemon/bits/enable_if.h	(revision 220)
+++ lemon/bits/enable_if.h	(revision 318)
@@ -36,27 +36,27 @@
 #define LEMON_BITS_ENABLE_IF_H
 
-///\file
-///\brief Miscellaneous basic utilities
+//\file
+//\brief Miscellaneous basic utilities
 
 namespace lemon
 {
 
-  /// Basic type for defining "tags". A "YES" condition for \c enable_if.
+  // Basic type for defining "tags". A "YES" condition for \c enable_if.
 
-  /// Basic type for defining "tags". A "YES" condition for \c enable_if.
-  ///
-  ///\sa False
+  // Basic type for defining "tags". A "YES" condition for \c enable_if.
+  //
+  //\sa False
   struct True {
-    ///\e
+    //\e
     static const bool value = true;
   };
 
-  /// Basic type for defining "tags". A "NO" condition for \c enable_if.
+  // Basic type for defining "tags". A "NO" condition for \c enable_if.
 
-  /// Basic type for defining "tags". A "NO" condition for \c enable_if.
-  ///
-  ///\sa True
+  // Basic type for defining "tags". A "NO" condition for \c enable_if.
+  //
+  //\sa True
   struct False {
-    ///\e
+    //\e
     static const bool value = false;
   };
Index: lemon/bits/graph_extender.h
===================================================================
--- lemon/bits/graph_extender.h	(revision 263)
+++ lemon/bits/graph_extender.h	(revision 318)
@@ -28,12 +28,12 @@
 #include <lemon/concepts/maps.h>
 
-///\ingroup graphbits
-///\file
-///\brief Extenders for the digraph types
+//\ingroup graphbits
+//\file
+//\brief Extenders for the digraph types
 namespace lemon {
 
-  /// \ingroup graphbits
-  ///
-  /// \brief Extender for the Digraphs
+  // \ingroup graphbits
+  //
+  // \brief Extender for the Digraphs
   template <typename Base>
   class DigraphExtender : public Base {
@@ -187,28 +187,28 @@
     };
 
-    /// \brief Base node of the iterator
-    ///
-    /// Returns the base node (i.e. the source in this case) of the iterator
+    // \brief Base node of the iterator
+    //
+    // Returns the base node (i.e. the source in this case) of the iterator
     Node baseNode(const OutArcIt &arc) const {
       return Parent::source(arc);
     }
-    /// \brief Running node of the iterator
-    ///
-    /// Returns the running node (i.e. the target in this case) of the
-    /// iterator
+    // \brief Running node of the iterator
+    //
+    // Returns the running node (i.e. the target in this case) of the
+    // iterator
     Node runningNode(const OutArcIt &arc) const {
       return Parent::target(arc);
     }
 
-    /// \brief Base node of the iterator
-    ///
-    /// Returns the base node (i.e. the target in this case) of the iterator
+    // \brief Base node of the iterator
+    //
+    // Returns the base node (i.e. the target in this case) of the iterator
     Node baseNode(const InArcIt &arc) const {
       return Parent::target(arc);
     }
-    /// \brief Running node of the iterator
-    ///
-    /// Returns the running node (i.e. the source in this case) of the
-    /// iterator
+    // \brief Running node of the iterator
+    //
+    // Returns the running node (i.e. the source in this case) of the
+    // iterator
     Node runningNode(const InArcIt &arc) const {
       return Parent::source(arc);
@@ -326,7 +326,7 @@
   };
 
-  /// \ingroup _graphbits
-  ///
-  /// \brief Extender for the Graphs
+  // \ingroup _graphbits
+  //
+  // \brief Extender for the Graphs
   template <typename Base>
   class GraphExtender : public Base {
@@ -556,41 +556,41 @@
     };
 
-    /// \brief Base node of the iterator
-    ///
-    /// Returns the base node (ie. the source in this case) of the iterator
+    // \brief Base node of the iterator
+    //
+    // Returns the base node (ie. the source in this case) of the iterator
     Node baseNode(const OutArcIt &arc) const {
       return Parent::source(static_cast<const Arc&>(arc));
     }
-    /// \brief Running node of the iterator
-    ///
-    /// Returns the running node (ie. the target in this case) of the
-    /// iterator
+    // \brief Running node of the iterator
+    //
+    // Returns the running node (ie. the target in this case) of the
+    // iterator
     Node runningNode(const OutArcIt &arc) const {
       return Parent::target(static_cast<const Arc&>(arc));
     }
 
-    /// \brief Base node of the iterator
-    ///
-    /// Returns the base node (ie. the target in this case) of the iterator
+    // \brief Base node of the iterator
+    //
+    // Returns the base node (ie. the target in this case) of the iterator
     Node baseNode(const InArcIt &arc) const {
       return Parent::target(static_cast<const Arc&>(arc));
     }
-    /// \brief Running node of the iterator
-    ///
-    /// Returns the running node (ie. the source in this case) of the
-    /// iterator
+    // \brief Running node of the iterator
+    //
+    // Returns the running node (ie. the source in this case) of the
+    // iterator
     Node runningNode(const InArcIt &arc) const {
       return Parent::source(static_cast<const Arc&>(arc));
     }
 
-    /// Base node of the iterator
-    ///
-    /// Returns the base node of the iterator
+    // Base node of the iterator
+    //
+    // Returns the base node of the iterator
     Node baseNode(const IncEdgeIt &edge) const {
       return edge._direction ? u(edge) : v(edge);
     }
-    /// Running node of the iterator
-    ///
-    /// Returns the running node of the iterator
+    // Running node of the iterator
+    //
+    // Returns the running node of the iterator
     Node runningNode(const IncEdgeIt &edge) const {
       return edge._direction ? v(edge) : u(edge);
Index: lemon/bits/map_extender.h
===================================================================
--- lemon/bits/map_extender.h	(revision 263)
+++ lemon/bits/map_extender.h	(revision 318)
@@ -27,12 +27,12 @@
 #include <lemon/concepts/maps.h>
 
-///\file
-///\brief Extenders for iterable maps.
+//\file
+//\brief Extenders for iterable maps.
 
 namespace lemon {
 
-  /// \ingroup graphbits
-  ///
-  /// \brief Extender for maps
+  // \ingroup graphbits
+  //
+  // \brief Extender for maps
   template <typename _Map>
   class MapExtender : public _Map {
@@ -172,7 +172,7 @@
   };
 
-  /// \ingroup graphbits
-  ///
-  /// \brief Extender for maps which use a subset of the items.
+  // \ingroup graphbits
+  //
+  // \brief Extender for maps which use a subset of the items.
   template <typename _Graph, typename _Map>
   class SubMapExtender : public _Map {
Index: lemon/bits/traits.h
===================================================================
--- lemon/bits/traits.h	(revision 220)
+++ lemon/bits/traits.h	(revision 318)
@@ -20,7 +20,7 @@
 #define LEMON_BITS_TRAITS_H
 
-///\file
-///\brief Traits for graphs and maps
-///
+//\file
+//\brief Traits for graphs and maps
+//
 
 #include <lemon/bits/enable_if.h>
Index: lemon/bits/vector_map.h
===================================================================
--- lemon/bits/vector_map.h	(revision 280)
+++ lemon/bits/vector_map.h	(revision 318)
@@ -29,21 +29,21 @@
 #include <lemon/concepts/maps.h>
 
-///\ingroup graphbits
-///
-///\file
-///\brief Vector based graph maps.
+//\ingroup graphbits
+//
+//\file
+//\brief Vector based graph maps.
 namespace lemon {
 
-  /// \ingroup graphbits
-  ///
-  /// \brief Graph map based on the std::vector storage.
-  ///
-  /// The VectorMap template class is graph map structure what
-  /// automatically updates the map when a key is added to or erased from
-  /// the map. This map type uses the std::vector to store the values.
-  ///
-  /// \tparam _Graph The graph this map is attached to.
-  /// \tparam _Item The item type of the graph items.
-  /// \tparam _Value The value type of the map.
+  // \ingroup graphbits
+  //
+  // \brief Graph map based on the std::vector storage.
+  //
+  // The VectorMap template class is graph map structure what
+  // automatically updates the map when a key is added to or erased from
+  // the map. This map type uses the std::vector to store the values.
+  //
+  // \tparam _Graph The graph this map is attached to.
+  // \tparam _Item The item type of the graph items.
+  // \tparam _Value The value type of the map.
   template <typename _Graph, typename _Item, typename _Value>
   class VectorMap
@@ -51,39 +51,39 @@
   private:
 
-    /// The container type of the map.
+    // The container type of the map.
     typedef std::vector<_Value> Container;
 
   public:
 
-    /// The graph type of the map.
+    // The graph type of the map.
     typedef _Graph Graph;
-    /// The item type of the map.
+    // The item type of the map.
     typedef _Item Item;
-    /// The reference map tag.
+    // The reference map tag.
     typedef True ReferenceMapTag;
 
-    /// The key type of the map.
+    // The key type of the map.
     typedef _Item Key;
-    /// The value type of the map.
+    // The value type of the map.
     typedef _Value Value;
 
-    /// The notifier type.
+    // The notifier type.
     typedef typename ItemSetTraits<_Graph, _Item>::ItemNotifier Notifier;
 
-    /// The map type.
+    // The map type.
     typedef VectorMap Map;
-    /// The base class of the map.
+    // The base class of the map.
     typedef typename Notifier::ObserverBase Parent;
 
-    /// The reference type of the map;
+    // The reference type of the map;
     typedef typename Container::reference Reference;
-    /// The const reference type of the map;
+    // The const reference type of the map;
     typedef typename Container::const_reference ConstReference;
 
 
-    /// \brief Constructor to attach the new map into the notifier.
-    ///
-    /// It constructs a map and attachs it into the notifier.
-    /// It adds all the items of the graph to the map.
+    // \brief Constructor to attach the new map into the notifier.
+    //
+    // It constructs a map and attachs it into the notifier.
+    // It adds all the items of the graph to the map.
     VectorMap(const Graph& graph) {
       Parent::attach(graph.notifier(Item()));
@@ -91,8 +91,8 @@
     }
 
-    /// \brief Constructor uses given value to initialize the map.
-    ///
-    /// It constructs a map uses a given value to initialize the map.
-    /// It adds all the items of the graph to the map.
+    // \brief Constructor uses given value to initialize the map.
+    //
+    // It constructs a map uses a given value to initialize the map.
+    // It adds all the items of the graph to the map.
     VectorMap(const Graph& graph, const Value& value) {
       Parent::attach(graph.notifier(Item()));
@@ -101,7 +101,7 @@
 
   private:
-    /// \brief Copy constructor
-    ///
-    /// Copy constructor.
+    // \brief Copy constructor
+    //
+    // Copy constructor.
     VectorMap(const VectorMap& _copy) : Parent() {
       if (_copy.attached()) {
@@ -111,11 +111,11 @@
     }
 
-    /// \brief Assign operator.
-    ///
-    /// This operator assigns for each item in the map the
-    /// value mapped to the same item in the copied map.
-    /// The parameter map should be indiced with the same
-    /// itemset because this assign operator does not change
-    /// the container of the map.
+    // \brief Assign operator.
+    //
+    // This operator assigns for each item in the map the
+    // value mapped to the same item in the copied map.
+    // The parameter map should be indiced with the same
+    // itemset because this assign operator does not change
+    // the container of the map.
     VectorMap& operator=(const VectorMap& cmap) {
       return operator=<VectorMap>(cmap);
@@ -123,10 +123,10 @@
 
 
-    /// \brief Template assign operator.
-    ///
-    /// The given parameter should be conform to the ReadMap
-    /// concecpt and could be indiced by the current item set of
-    /// the NodeMap. In this case the value for each item
-    /// is assigned by the value of the given ReadMap.
+    // \brief Template assign operator.
+    //
+    // The given parameter should be conform to the ReadMap
+    // concecpt and could be indiced by the current item set of
+    // the NodeMap. In this case the value for each item
+    // is assigned by the value of the given ReadMap.
     template <typename CMap>
     VectorMap& operator=(const CMap& cmap) {
@@ -142,16 +142,16 @@
   public:
 
-    /// \brief The subcript operator.
-    ///
-    /// The subscript operator. The map can be subscripted by the
-    /// actual items of the graph.
+    // \brief The subcript operator.
+    //
+    // The subscript operator. The map can be subscripted by the
+    // actual items of the graph.
     Reference operator[](const Key& key) {
       return container[Parent::notifier()->id(key)];
     }
 
-    /// \brief The const subcript operator.
-    ///
-    /// The const subscript operator. The map can be subscripted by the
-    /// actual items of the graph.
+    // \brief The const subcript operator.
+    //
+    // The const subscript operator. The map can be subscripted by the
+    // actual items of the graph.
     ConstReference operator[](const Key& key) const {
       return container[Parent::notifier()->id(key)];
@@ -159,7 +159,7 @@
 
 
-    /// \brief The setter function of the map.
-    ///
-    /// It the same as operator[](key) = value expression.
+    // \brief The setter function of the map.
+    //
+    // It the same as operator[](key) = value expression.
     void set(const Key& key, const Value& value) {
       (*this)[key] = value;
@@ -168,8 +168,8 @@
   protected:
 
-    /// \brief Adds a new key to the map.
-    ///
-    /// It adds a new key to the map. It called by the observer notifier
-    /// and it overrides the add() member function of the observer base.
+    // \brief Adds a new key to the map.
+    //
+    // It adds a new key to the map. It called by the observer notifier
+    // and it overrides the add() member function of the observer base.
     virtual void add(const Key& key) {
       int id = Parent::notifier()->id(key);
@@ -179,8 +179,8 @@
     }
 
-    /// \brief Adds more new keys to the map.
-    ///
-    /// It adds more new keys to the map. It called by the observer notifier
-    /// and it overrides the add() member function of the observer base.
+    // \brief Adds more new keys to the map.
+    //
+    // It adds more new keys to the map. It called by the observer notifier
+    // and it overrides the add() member function of the observer base.
     virtual void add(const std::vector<Key>& keys) {
       int max = container.size() - 1;
@@ -194,16 +194,16 @@
     }
 
-    /// \brief Erase a key from the map.
-    ///
-    /// Erase a key from the map. It called by the observer notifier
-    /// and it overrides the erase() member function of the observer base.
+    // \brief Erase a key from the map.
+    //
+    // Erase a key from the map. It called by the observer notifier
+    // and it overrides the erase() member function of the observer base.
     virtual void erase(const Key& key) {
       container[Parent::notifier()->id(key)] = Value();
     }
 
-    /// \brief Erase more keys from the map.
-    ///
-    /// Erase more keys from the map. It called by the observer notifier
-    /// and it overrides the erase() member function of the observer base.
+    // \brief Erase more keys from the map.
+    //
+    // Erase more keys from the map. It called by the observer notifier
+    // and it overrides the erase() member function of the observer base.
     virtual void erase(const std::vector<Key>& keys) {
       for (int i = 0; i < int(keys.size()); ++i) {
@@ -212,8 +212,8 @@
     }
 
-    /// \brief Buildes the map.
-    ///
-    /// It buildes the map. It called by the observer notifier
-    /// and it overrides the build() member function of the observer base.
+    // \brief Buildes the map.
+    //
+    // It buildes the map. It called by the observer notifier
+    // and it overrides the build() member function of the observer base.
     virtual void build() {
       int size = Parent::notifier()->maxId() + 1;
@@ -222,8 +222,8 @@
     }
 
-    /// \brief Clear the map.
-    ///
-    /// It erase all items from the map. It called by the observer notifier
-    /// and it overrides the clear() member function of the observer base.
+    // \brief Clear the map.
+    //
+    // It erase all items from the map. It called by the observer notifier
+    // and it overrides the clear() member function of the observer base.
     virtual void clear() {
       container.clear();
Index: lemon/concepts/maps.h
===================================================================
--- lemon/concepts/maps.h	(revision 220)
+++ lemon/concepts/maps.h	(revision 318)
@@ -23,5 +23,5 @@
 #include <lemon/concept_check.h>
 
-///\ingroup concept
+///\ingroup map_concepts
 ///\file
 ///\brief The concept of maps.
@@ -31,5 +31,5 @@
   namespace concepts {
 
-    /// \addtogroup concept
+    /// \addtogroup map_concepts
     /// @{
 
Index: lemon/dim2.h
===================================================================
--- lemon/dim2.h	(revision 317)
+++ lemon/dim2.h	(revision 318)
@@ -577,5 +577,5 @@
 
   ///Map of x-coordinates of a \ref Point "Point"-map.
-  ///\ingroup maps
+  ///
   template<class M>
   class XMap
@@ -595,6 +595,4 @@
 
   ///This function just returns an XMap class.
-  ///
-  ///\ingroup maps
   ///\relates XMap
   template<class M>
@@ -613,5 +611,5 @@
 
   ///Constant (read only) version of XMap.
-  ///\ingroup maps
+  ///
   template<class M>
   class ConstXMap
@@ -630,6 +628,4 @@
 
   ///This function just returns a ConstXMap class.
-  ///
-  ///\ingroup maps
   ///\relates ConstXMap
   template<class M>
@@ -642,5 +638,5 @@
 
   ///Map of y-coordinates of a \ref Point "Point"-map.
-  ///\ingroup maps
+  ///
   template<class M>
   class YMap
@@ -660,6 +656,4 @@
 
   ///This function just returns a YMap class.
-  ///
-  ///\ingroup maps
   ///\relates YMap
   template<class M>
@@ -678,5 +672,5 @@
 
   ///Constant (read only) version of YMap.
-  ///\ingroup maps
+  ///
   template<class M>
   class ConstYMap
@@ -695,6 +689,4 @@
 
   ///This function just returns a ConstYMap class.
-  ///
-  ///\ingroup maps
   ///\relates ConstYMap
   template<class M>
@@ -709,5 +701,4 @@
   ///Map of the \ref Point::normSquare() "normSquare()"
   ///of a \ref Point "Point"-map.
-  ///\ingroup maps
   template<class M>
   class NormSquareMap
@@ -726,6 +717,4 @@
 
   ///This function just returns a NormSquareMap class.
-  ///
-  ///\ingroup maps
   ///\relates NormSquareMap
   template<class M>
Index: lemon/maps.h
===================================================================
--- lemon/maps.h	(revision 317)
+++ lemon/maps.h	(revision 318)
@@ -1684,4 +1684,9 @@
   }
 
+  /// @}
+
+  /// \addtogroup maps
+  /// @{
+
   /// \brief Writable bool map for logging each \c true assigned element
   ///
@@ -1776,4 +1781,9 @@
   }
 
+  /// @}
+
+  /// \addtogroup graph_maps
+  /// @{
+
   /// Provides an immutable and unique id for each item in the graph.
 
@@ -1882,6 +1892,4 @@
     /// The value type of the InvertableMap.
     typedef typename Map::Value Value;
-
-
 
     /// \brief Constructor.
@@ -2049,6 +2057,4 @@
       return InverseMap(*this);
     }
-
-
 
   };
Index: lemon/time_measure.h
===================================================================
--- lemon/time_measure.h	(revision 317)
+++ lemon/time_measure.h	(revision 318)
@@ -312,6 +312,6 @@
     ///Basically a Timer can be either running or stopped,
     ///but it provides a bit finer control on the execution.
-    ///The \ref lemon::Timer "Timer" also counts the number of 
-    ///\ref lemon::Timer::start() "start()" executions, and it stops 
+    ///The \ref lemon::Timer "Timer" also counts the number of
+    ///\ref lemon::Timer::start() "start()" executions, and it stops
     ///only after the same amount (or more) \ref lemon::Timer::stop()
     ///"stop()"s. This can be useful e.g. to compute the running time
