Index: lemon/Makefile.am
===================================================================
--- lemon/Makefile.am	(revision 220)
+++ lemon/Makefile.am	(revision 259)
@@ -13,7 +13,6 @@
         lemon/random.cc
 
-
-lemon_libemon_la_CXXFLAGS = $(GLPK_CFLAGS) $(CPLEX_CFLAGS) $(SOPLEX_CXXFLAGS)
-lemon_libemon_la_LDFLAGS = $(GLPK_LIBS) $(CPLEX_LIBS) $(SOPLEX_LIBS)
+#lemon_libemon_la_CXXFLAGS = $(GLPK_CFLAGS) $(CPLEX_CFLAGS) $(SOPLEX_CXXFLAGS)
+#lemon_libemon_la_LDFLAGS = $(GLPK_LIBS) $(CPLEX_LIBS) $(SOPLEX_LIBS)
 
 lemon_HEADERS += \
Index: lemon/bfs.h
===================================================================
--- lemon/bfs.h	(revision 258)
+++ lemon/bfs.h	(revision 252)
@@ -231,5 +231,5 @@
 
     template <class T>
-    struct SetPredMapTraits : public Traits {
+    struct DefPredMapTraits : public Traits {
       typedef T PredMap;
       static PredMap *createPredMap(const Digraph &)
@@ -244,10 +244,10 @@
     ///\ref PredMap type.
     template <class T>
-    struct SetPredMap : public Bfs< Digraph, SetPredMapTraits<T> > {
-      typedef Bfs< Digraph, SetPredMapTraits<T> > Create;
+    struct DefPredMap : public Bfs< Digraph, DefPredMapTraits<T> > {
+      typedef Bfs< Digraph, DefPredMapTraits<T> > Create;
     };
 
     template <class T>
-    struct SetDistMapTraits : public Traits {
+    struct DefDistMapTraits : public Traits {
       typedef T DistMap;
       static DistMap *createDistMap(const Digraph &)
@@ -262,10 +262,10 @@
     ///\ref DistMap type.
     template <class T>
-    struct SetDistMap : public Bfs< Digraph, SetDistMapTraits<T> > {
-      typedef Bfs< Digraph, SetDistMapTraits<T> > Create;
+    struct DefDistMap : public Bfs< Digraph, DefDistMapTraits<T> > {
+      typedef Bfs< Digraph, DefDistMapTraits<T> > Create;
     };
 
     template <class T>
-    struct SetReachedMapTraits : public Traits {
+    struct DefReachedMapTraits : public Traits {
       typedef T ReachedMap;
       static ReachedMap *createReachedMap(const Digraph &)
@@ -280,10 +280,10 @@
     ///\ref ReachedMap type.
     template <class T>
-    struct SetReachedMap : public Bfs< Digraph, SetReachedMapTraits<T> > {
-      typedef Bfs< Digraph, SetReachedMapTraits<T> > Create;
+    struct DefReachedMap : public Bfs< Digraph, DefReachedMapTraits<T> > {
+      typedef Bfs< Digraph, DefReachedMapTraits<T> > Create;
     };
 
     template <class T>
-    struct SetProcessedMapTraits : public Traits {
+    struct DefProcessedMapTraits : public Traits {
       typedef T ProcessedMap;
       static ProcessedMap *createProcessedMap(const Digraph &)
@@ -298,9 +298,9 @@
     ///\ref ProcessedMap type.
     template <class T>
-    struct SetProcessedMap : public Bfs< Digraph, SetProcessedMapTraits<T> > {
-      typedef Bfs< Digraph, SetProcessedMapTraits<T> > Create;
-    };
-
-    struct SetStandardProcessedMapTraits : public Traits {
+    struct DefProcessedMap : public Bfs< Digraph, DefProcessedMapTraits<T> > {
+      typedef Bfs< Digraph, DefProcessedMapTraits<T> > Create;
+    };
+
+    struct DefDigraphProcessedMapTraits : public Traits {
       typedef typename Digraph::template NodeMap<bool> ProcessedMap;
       static ProcessedMap *createProcessedMap(const Digraph &g)
@@ -315,7 +315,8 @@
     ///\ref ProcessedMap type to be <tt>Digraph::NodeMap<bool></tt>.
     ///If you don't set it explicitly, it will be automatically allocated.
-    struct SetStandardProcessedMap :
-      public Bfs< Digraph, SetStandardProcessedMapTraits > {
-      typedef Bfs< Digraph, SetStandardProcessedMapTraits > Create;
+    template <class T>
+    struct DefProcessedMapToBeDefaultMap :
+      public Bfs< Digraph, DefDigraphProcessedMapTraits> {
+      typedef Bfs< Digraph, DefDigraphProcessedMapTraits> Create;
     };
 
@@ -1065,8 +1066,8 @@
 
     template<class T>
-    struct SetPredMapBase : public Base {
+    struct DefPredMapBase : public Base {
       typedef T PredMap;
       static PredMap *createPredMap(const Digraph &) { return 0; };
-      SetPredMapBase(const TR &b) : TR(b) {}
+      DefPredMapBase(const TR &b) : TR(b) {}
     };
     ///\brief \ref named-templ-param "Named parameter"
@@ -1076,15 +1077,15 @@
     ///for setting \ref PredMap object.
     template<class T>
-    BfsWizard<SetPredMapBase<T> > predMap(const T &t)
+    BfsWizard<DefPredMapBase<T> > predMap(const T &t)
     {
       Base::_pred=reinterpret_cast<void*>(const_cast<T*>(&t));
-      return BfsWizard<SetPredMapBase<T> >(*this);
+      return BfsWizard<DefPredMapBase<T> >(*this);
     }
 
     template<class T>
-    struct SetReachedMapBase : public Base {
+    struct DefReachedMapBase : public Base {
       typedef T ReachedMap;
       static ReachedMap *createReachedMap(const Digraph &) { return 0; };
-      SetReachedMapBase(const TR &b) : TR(b) {}
+      DefReachedMapBase(const TR &b) : TR(b) {}
     };
     ///\brief \ref named-templ-param "Named parameter"
@@ -1094,15 +1095,15 @@
     ///for setting \ref ReachedMap object.
     template<class T>
-    BfsWizard<SetReachedMapBase<T> > reachedMap(const T &t)
+    BfsWizard<DefReachedMapBase<T> > reachedMap(const T &t)
     {
       Base::_reached=reinterpret_cast<void*>(const_cast<T*>(&t));
-      return BfsWizard<SetReachedMapBase<T> >(*this);
+      return BfsWizard<DefReachedMapBase<T> >(*this);
     }
 
     template<class T>
-    struct SetProcessedMapBase : public Base {
+    struct DefProcessedMapBase : public Base {
       typedef T ProcessedMap;
       static ProcessedMap *createProcessedMap(const Digraph &) { return 0; };
-      SetProcessedMapBase(const TR &b) : TR(b) {}
+      DefProcessedMapBase(const TR &b) : TR(b) {}
     };
     ///\brief \ref named-templ-param "Named parameter"
@@ -1112,15 +1113,15 @@
     ///for setting \ref ProcessedMap object.
     template<class T>
-    BfsWizard<SetProcessedMapBase<T> > processedMap(const T &t)
+    BfsWizard<DefProcessedMapBase<T> > processedMap(const T &t)
     {
       Base::_processed=reinterpret_cast<void*>(const_cast<T*>(&t));
-      return BfsWizard<SetProcessedMapBase<T> >(*this);
+      return BfsWizard<DefProcessedMapBase<T> >(*this);
     }
 
     template<class T>
-    struct SetDistMapBase : public Base {
+    struct DefDistMapBase : public Base {
       typedef T DistMap;
       static DistMap *createDistMap(const Digraph &) { return 0; };
-      SetDistMapBase(const TR &b) : TR(b) {}
+      DefDistMapBase(const TR &b) : TR(b) {}
     };
     ///\brief \ref named-templ-param "Named parameter"
@@ -1130,8 +1131,8 @@
     ///for setting \ref DistMap object.
     template<class T>
-    BfsWizard<SetDistMapBase<T> > distMap(const T &t)
+    BfsWizard<DefDistMapBase<T> > distMap(const T &t)
     {
       Base::_dist=reinterpret_cast<void*>(const_cast<T*>(&t));
-      return BfsWizard<SetDistMapBase<T> >(*this);
+      return BfsWizard<DefDistMapBase<T> >(*this);
     }
 
@@ -1354,5 +1355,5 @@
     ///@{
     template <class T>
-    struct SetReachedMapTraits : public Traits {
+    struct DefReachedMapTraits : public Traits {
       typedef T ReachedMap;
       static ReachedMap *createReachedMap(const Digraph &digraph) {
@@ -1365,7 +1366,7 @@
     /// \ref named-templ-param "Named parameter" for setting ReachedMap type.
     template <class T>
-    struct SetReachedMap : public BfsVisit< Digraph, Visitor,
-                                            SetReachedMapTraits<T> > {
-      typedef BfsVisit< Digraph, Visitor, SetReachedMapTraits<T> > Create;
+    struct DefReachedMap : public BfsVisit< Digraph, Visitor,
+                                            DefReachedMapTraits<T> > {
+      typedef BfsVisit< Digraph, Visitor, DefReachedMapTraits<T> > Create;
     };
     ///@}
Index: lemon/bits/base_extender.h
===================================================================
--- lemon/bits/base_extender.h	(revision 256)
+++ lemon/bits/base_extender.h	(revision 220)
@@ -60,5 +60,5 @@
       Arc() {}
 
-      // Invalid arc constructor
+      /// Invalid arc constructor
       Arc(Invalid i) : Edge(i), forward(true) {}
 
@@ -75,20 +75,16 @@
     };
 
-    /// First node of the edge
-    Node u(const Edge &e) const {
-      return Parent::source(e);
-    }
-
-    /// Source of the given arc
+
+
+    using Parent::source;
+
+    /// 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
-    Node v(const Edge &e) const {
-      return Parent::target(e);
-    }
-
-    /// Target of the given arc
+    using Parent::target;
+
+    /// Target of the given Arc.
     Node target(const Arc &e) const {
       return e.forward ? Parent::target(e) : Parent::source(e);
@@ -97,17 +93,18 @@
     /// \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 a directed arc corresponding to the specified Edge.
+    /// If the given bool is true the given edge and the
+    /// returned arc have the same source node.
+    static Arc direct(const Edge &ue, bool d) {
+      return Arc(ue, d);
+    }
+
+    /// Returns whether the given directed arc is same orientation as the
+    /// corresponding edge.
     ///
     /// \todo reference to the corresponding point of the undirected digraph
     /// concept. "What does the direction of an edge mean?"
-    static bool direction(const Arc &a) { return a.forward; }
+    static bool direction(const Arc &e) { return e.forward; }
+
 
     using Parent::first;
@@ -232,4 +229,5 @@
       return Parent::maxArcId();
     }
+
 
     int arcNum() const {
Index: lemon/dfs.h
===================================================================
--- lemon/dfs.h	(revision 258)
+++ lemon/dfs.h	(revision 252)
@@ -231,5 +231,5 @@
 
     template <class T>
-    struct SetPredMapTraits : public Traits {
+    struct DefPredMapTraits : public Traits {
       typedef T PredMap;
       static PredMap *createPredMap(const Digraph &)
@@ -244,10 +244,10 @@
     ///\ref PredMap type.
     template <class T>
-    struct SetPredMap : public Dfs<Digraph, SetPredMapTraits<T> > {
-      typedef Dfs<Digraph, SetPredMapTraits<T> > Create;
+    struct DefPredMap : public Dfs<Digraph, DefPredMapTraits<T> > {
+      typedef Dfs<Digraph, DefPredMapTraits<T> > Create;
     };
 
     template <class T>
-    struct SetDistMapTraits : public Traits {
+    struct DefDistMapTraits : public Traits {
       typedef T DistMap;
       static DistMap *createDistMap(const Digraph &)
@@ -262,10 +262,10 @@
     ///\ref DistMap type.
     template <class T>
-    struct SetDistMap : public Dfs< Digraph, SetDistMapTraits<T> > {
-      typedef Dfs<Digraph, SetDistMapTraits<T> > Create;
+    struct DefDistMap : public Dfs< Digraph, DefDistMapTraits<T> > {
+      typedef Dfs<Digraph, DefDistMapTraits<T> > Create;
     };
 
     template <class T>
-    struct SetReachedMapTraits : public Traits {
+    struct DefReachedMapTraits : public Traits {
       typedef T ReachedMap;
       static ReachedMap *createReachedMap(const Digraph &)
@@ -280,10 +280,10 @@
     ///\ref ReachedMap type.
     template <class T>
-    struct SetReachedMap : public Dfs< Digraph, SetReachedMapTraits<T> > {
-      typedef Dfs< Digraph, SetReachedMapTraits<T> > Create;
+    struct DefReachedMap : public Dfs< Digraph, DefReachedMapTraits<T> > {
+      typedef Dfs< Digraph, DefReachedMapTraits<T> > Create;
     };
 
     template <class T>
-    struct SetProcessedMapTraits : public Traits {
+    struct DefProcessedMapTraits : public Traits {
       typedef T ProcessedMap;
       static ProcessedMap *createProcessedMap(const Digraph &)
@@ -298,9 +298,9 @@
     ///\ref ProcessedMap type.
     template <class T>
-    struct SetProcessedMap : public Dfs< Digraph, SetProcessedMapTraits<T> > {
-      typedef Dfs< Digraph, SetProcessedMapTraits<T> > Create;
-    };
-
-    struct SetStandardProcessedMapTraits : public Traits {
+    struct DefProcessedMap : public Dfs< Digraph, DefProcessedMapTraits<T> > {
+      typedef Dfs< Digraph, DefProcessedMapTraits<T> > Create;
+    };
+
+    struct DefDigraphProcessedMapTraits : public Traits {
       typedef typename Digraph::template NodeMap<bool> ProcessedMap;
       static ProcessedMap *createProcessedMap(const Digraph &g)
@@ -315,7 +315,8 @@
     ///\ref ProcessedMap type to be <tt>Digraph::NodeMap<bool></tt>.
     ///If you don't set it explicitly, it will be automatically allocated.
-    struct SetStandardProcessedMap :
-      public Dfs< Digraph, SetStandardProcessedMapTraits > {
-      typedef Dfs< Digraph, SetStandardProcessedMapTraits > Create;
+    template <class T>
+    struct DefProcessedMapToBeDefaultMap :
+      public Dfs< Digraph, DefDigraphProcessedMapTraits> {
+      typedef Dfs< Digraph, DefDigraphProcessedMapTraits> Create;
     };
 
@@ -1000,8 +1001,8 @@
 
     template<class T>
-    struct SetPredMapBase : public Base {
+    struct DefPredMapBase : public Base {
       typedef T PredMap;
       static PredMap *createPredMap(const Digraph &) { return 0; };
-      SetPredMapBase(const TR &b) : TR(b) {}
+      DefPredMapBase(const TR &b) : TR(b) {}
     };
     ///\brief \ref named-templ-param "Named parameter"
@@ -1011,15 +1012,15 @@
     ///for setting \ref PredMap object.
     template<class T>
-    DfsWizard<SetPredMapBase<T> > predMap(const T &t)
+    DfsWizard<DefPredMapBase<T> > predMap(const T &t)
     {
       Base::_pred=reinterpret_cast<void*>(const_cast<T*>(&t));
-      return DfsWizard<SetPredMapBase<T> >(*this);
+      return DfsWizard<DefPredMapBase<T> >(*this);
     }
 
     template<class T>
-    struct SetReachedMapBase : public Base {
+    struct DefReachedMapBase : public Base {
       typedef T ReachedMap;
       static ReachedMap *createReachedMap(const Digraph &) { return 0; };
-      SetReachedMapBase(const TR &b) : TR(b) {}
+      DefReachedMapBase(const TR &b) : TR(b) {}
     };
     ///\brief \ref named-templ-param "Named parameter"
@@ -1029,15 +1030,15 @@
     ///for setting \ref ReachedMap object.
     template<class T>
-    DfsWizard<SetReachedMapBase<T> > reachedMap(const T &t)
+    DfsWizard<DefReachedMapBase<T> > reachedMap(const T &t)
     {
       Base::_reached=reinterpret_cast<void*>(const_cast<T*>(&t));
-      return DfsWizard<SetReachedMapBase<T> >(*this);
+      return DfsWizard<DefReachedMapBase<T> >(*this);
     }
 
     template<class T>
-    struct SetProcessedMapBase : public Base {
+    struct DefProcessedMapBase : public Base {
       typedef T ProcessedMap;
       static ProcessedMap *createProcessedMap(const Digraph &) { return 0; };
-      SetProcessedMapBase(const TR &b) : TR(b) {}
+      DefProcessedMapBase(const TR &b) : TR(b) {}
     };
     ///\brief \ref named-templ-param "Named parameter"
@@ -1047,15 +1048,15 @@
     ///for setting \ref ProcessedMap object.
     template<class T>
-    DfsWizard<SetProcessedMapBase<T> > processedMap(const T &t)
+    DfsWizard<DefProcessedMapBase<T> > processedMap(const T &t)
     {
       Base::_processed=reinterpret_cast<void*>(const_cast<T*>(&t));
-      return DfsWizard<SetProcessedMapBase<T> >(*this);
+      return DfsWizard<DefProcessedMapBase<T> >(*this);
     }
 
     template<class T>
-    struct SetDistMapBase : public Base {
+    struct DefDistMapBase : public Base {
       typedef T DistMap;
       static DistMap *createDistMap(const Digraph &) { return 0; };
-      SetDistMapBase(const TR &b) : TR(b) {}
+      DefDistMapBase(const TR &b) : TR(b) {}
     };
     ///\brief \ref named-templ-param "Named parameter"
@@ -1065,8 +1066,8 @@
     ///for setting \ref DistMap object.
     template<class T>
-    DfsWizard<SetDistMapBase<T> > distMap(const T &t)
+    DfsWizard<DefDistMapBase<T> > distMap(const T &t)
     {
       Base::_dist=reinterpret_cast<void*>(const_cast<T*>(&t));
-      return DfsWizard<SetDistMapBase<T> >(*this);
+      return DfsWizard<DefDistMapBase<T> >(*this);
     }
 
@@ -1301,5 +1302,5 @@
     ///@{
     template <class T>
-    struct SetReachedMapTraits : public Traits {
+    struct DefReachedMapTraits : public Traits {
       typedef T ReachedMap;
       static ReachedMap *createReachedMap(const Digraph &digraph) {
@@ -1312,7 +1313,7 @@
     /// \ref named-templ-param "Named parameter" for setting ReachedMap type.
     template <class T>
-    struct SetReachedMap : public DfsVisit< Digraph, Visitor,
-                                            SetReachedMapTraits<T> > {
-      typedef DfsVisit< Digraph, Visitor, SetReachedMapTraits<T> > Create;
+    struct DefReachedMap : public DfsVisit< Digraph, Visitor,
+                                            DefReachedMapTraits<T> > {
+      typedef DfsVisit< Digraph, Visitor, DefReachedMapTraits<T> > Create;
     };
     ///@}
Index: lemon/dijkstra.h
===================================================================
--- lemon/dijkstra.h	(revision 258)
+++ lemon/dijkstra.h	(revision 251)
@@ -332,5 +332,5 @@
 
     template <class T>
-    struct SetPredMapTraits : public Traits {
+    struct DefPredMapTraits : public Traits {
       typedef T PredMap;
       static PredMap *createPredMap(const Digraph &)
@@ -345,11 +345,11 @@
     ///\ref PredMap type.
     template <class T>
-    struct SetPredMap
-      : public Dijkstra< Digraph, LengthMap, SetPredMapTraits<T> > {
-      typedef Dijkstra< Digraph, LengthMap, SetPredMapTraits<T> > Create;
+    struct DefPredMap
+      : public Dijkstra< Digraph, LengthMap, DefPredMapTraits<T> > {
+      typedef Dijkstra< Digraph, LengthMap, DefPredMapTraits<T> > Create;
     };
 
     template <class T>
-    struct SetDistMapTraits : public Traits {
+    struct DefDistMapTraits : public Traits {
       typedef T DistMap;
       static DistMap *createDistMap(const Digraph &)
@@ -364,11 +364,11 @@
     ///\ref DistMap type.
     template <class T>
-    struct SetDistMap
-      : public Dijkstra< Digraph, LengthMap, SetDistMapTraits<T> > {
-      typedef Dijkstra< Digraph, LengthMap, SetDistMapTraits<T> > Create;
+    struct DefDistMap
+      : public Dijkstra< Digraph, LengthMap, DefDistMapTraits<T> > {
+      typedef Dijkstra< Digraph, LengthMap, DefDistMapTraits<T> > Create;
     };
 
     template <class T>
-    struct SetProcessedMapTraits : public Traits {
+    struct DefProcessedMapTraits : public Traits {
       typedef T ProcessedMap;
       static ProcessedMap *createProcessedMap(const Digraph &)
@@ -383,10 +383,10 @@
     ///\ref ProcessedMap type.
     template <class T>
-    struct SetProcessedMap
-      : public Dijkstra< Digraph, LengthMap, SetProcessedMapTraits<T> > {
-      typedef Dijkstra< Digraph, LengthMap, SetProcessedMapTraits<T> > Create;
-    };
-
-    struct SetStandardProcessedMapTraits : public Traits {
+    struct DefProcessedMap
+      : public Dijkstra< Digraph, LengthMap, DefProcessedMapTraits<T> > {
+      typedef Dijkstra< Digraph, LengthMap, DefProcessedMapTraits<T> > Create;
+    };
+
+    struct DefDigraphProcessedMapTraits : public Traits {
       typedef typename Digraph::template NodeMap<bool> ProcessedMap;
       static ProcessedMap *createProcessedMap(const Digraph &g)
@@ -401,12 +401,13 @@
     ///\ref ProcessedMap type to be <tt>Digraph::NodeMap<bool></tt>.
     ///If you don't set it explicitly, it will be automatically allocated.
-    struct SetStandardProcessedMap
-      : public Dijkstra< Digraph, LengthMap, SetStandardProcessedMapTraits > {
-      typedef Dijkstra< Digraph, LengthMap, SetStandardProcessedMapTraits >
+    template <class T>
+    struct DefProcessedMapToBeDefaultMap
+      : public Dijkstra< Digraph, LengthMap, DefDigraphProcessedMapTraits> {
+      typedef Dijkstra< Digraph, LengthMap, DefDigraphProcessedMapTraits>
       Create;
     };
 
     template <class H, class CR>
-    struct SetHeapTraits : public Traits {
+    struct DefHeapTraits : public Traits {
       typedef CR HeapCrossRef;
       typedef H Heap;
@@ -425,11 +426,11 @@
     ///reference type.
     template <class H, class CR = typename Digraph::template NodeMap<int> >
-    struct SetHeap
-      : public Dijkstra< Digraph, LengthMap, SetHeapTraits<H, CR> > {
-      typedef Dijkstra< Digraph, LengthMap, SetHeapTraits<H, CR> > Create;
+    struct DefHeap
+      : public Dijkstra< Digraph, LengthMap, DefHeapTraits<H, CR> > {
+      typedef Dijkstra< Digraph, LengthMap, DefHeapTraits<H, CR> > Create;
     };
 
     template <class H, class CR>
-    struct SetStandardHeapTraits : public Traits {
+    struct DefStandardHeapTraits : public Traits {
       typedef CR HeapCrossRef;
       typedef H Heap;
@@ -450,12 +451,12 @@
     ///parameter and the heap's constructor waits for the cross reference.
     template <class H, class CR = typename Digraph::template NodeMap<int> >
-    struct SetStandardHeap
-      : public Dijkstra< Digraph, LengthMap, SetStandardHeapTraits<H, CR> > {
-      typedef Dijkstra< Digraph, LengthMap, SetStandardHeapTraits<H, CR> >
+    struct DefStandardHeap
+      : public Dijkstra< Digraph, LengthMap, DefStandardHeapTraits<H, CR> > {
+      typedef Dijkstra< Digraph, LengthMap, DefStandardHeapTraits<H, CR> >
       Create;
     };
 
     template <class T>
-    struct SetOperationTraitsTraits : public Traits {
+    struct DefOperationTraitsTraits : public Traits {
       typedef T OperationTraits;
     };
@@ -467,7 +468,7 @@
     ///\ref OperationTraits type.
     template <class T>
-    struct SetOperationTraits
-      : public Dijkstra<Digraph, LengthMap, SetOperationTraitsTraits<T> > {
-      typedef Dijkstra<Digraph, LengthMap, SetOperationTraitsTraits<T> >
+    struct DefOperationTraits
+      : public Dijkstra<Digraph, LengthMap, DefOperationTraitsTraits<T> > {
+      typedef Dijkstra<Digraph, LengthMap, DefOperationTraitsTraits<T> >
       Create;
     };
@@ -1205,8 +1206,8 @@
 
     template<class T>
-    struct SetPredMapBase : public Base {
+    struct DefPredMapBase : public Base {
       typedef T PredMap;
       static PredMap *createPredMap(const Digraph &) { return 0; };
-      SetPredMapBase(const TR &b) : TR(b) {}
+      DefPredMapBase(const TR &b) : TR(b) {}
     };
     ///\brief \ref named-templ-param "Named parameter"
@@ -1216,15 +1217,15 @@
     ///for setting \ref PredMap object.
     template<class T>
-    DijkstraWizard<SetPredMapBase<T> > predMap(const T &t)
+    DijkstraWizard<DefPredMapBase<T> > predMap(const T &t)
     {
       Base::_pred=reinterpret_cast<void*>(const_cast<T*>(&t));
-      return DijkstraWizard<SetPredMapBase<T> >(*this);
+      return DijkstraWizard<DefPredMapBase<T> >(*this);
     }
 
     template<class T>
-    struct SetProcessedMapBase : public Base {
+    struct DefProcessedMapBase : public Base {
       typedef T ProcessedMap;
       static ProcessedMap *createProcessedMap(const Digraph &) { return 0; };
-      SetProcessedMapBase(const TR &b) : TR(b) {}
+      DefProcessedMapBase(const TR &b) : TR(b) {}
     };
     ///\brief \ref named-templ-param "Named parameter"
@@ -1234,15 +1235,15 @@
     ///for setting \ref ProcessedMap object.
     template<class T>
-    DijkstraWizard<SetProcessedMapBase<T> > processedMap(const T &t)
+    DijkstraWizard<DefProcessedMapBase<T> > processedMap(const T &t)
     {
       Base::_processed=reinterpret_cast<void*>(const_cast<T*>(&t));
-      return DijkstraWizard<SetProcessedMapBase<T> >(*this);
+      return DijkstraWizard<DefProcessedMapBase<T> >(*this);
     }
 
     template<class T>
-    struct SetDistMapBase : public Base {
+    struct DefDistMapBase : public Base {
       typedef T DistMap;
       static DistMap *createDistMap(const Digraph &) { return 0; };
-      SetDistMapBase(const TR &b) : TR(b) {}
+      DefDistMapBase(const TR &b) : TR(b) {}
     };
     ///\brief \ref named-templ-param "Named parameter"
@@ -1252,8 +1253,8 @@
     ///for setting \ref DistMap object.
     template<class T>
-    DijkstraWizard<SetDistMapBase<T> > distMap(const T &t)
+    DijkstraWizard<DefDistMapBase<T> > distMap(const T &t)
     {
       Base::_dist=reinterpret_cast<void*>(const_cast<T*>(&t));
-      return DijkstraWizard<SetDistMapBase<T> >(*this);
+      return DijkstraWizard<DefDistMapBase<T> >(*this);
     }
 
Index: lemon/lemon.pc.in
===================================================================
--- lemon/lemon.pc.in	(revision 1)
+++ lemon/lemon.pc.in	(revision 259)
@@ -7,4 +7,4 @@
 Description: Library of Efficient Models and Optimization in Networks
 Version: @PACKAGE_VERSION@
-Libs: -L${libdir} -lemon @GLPK_LIBS@ @CPLEX_LIBS@
-Cflags: -I${includedir} @GLPK_CFLAGS@ @CPLEX_CFLAGS@
+Libs: -L${libdir} -lemon
+Cflags: -I${includedir}
