Index: lemon/list_graph.h
===================================================================
--- lemon/list_graph.h	(revision 2031)
+++ lemon/list_graph.h	(revision 2076)
@@ -567,6 +567,6 @@
   /**************** Undirected List Graph ****************/
 
-  typedef UGraphExtender<UGraphBaseExtender<
-    ListGraphBase> > ExtendedListUGraphBase;
+  typedef UGraphExtender<UndirGraphExtender<ListGraphBase> > 
+  ExtendedListUGraphBase;
 
   /// \addtogroup graphs
@@ -652,5 +652,5 @@
     };
 
-    struct EdgeT {
+    struct UEdgeT {
       int aNode, prev_out, next_out;
       int bNode, prev_in, next_in;
@@ -660,5 +660,5 @@
     std::vector<NodeT> bNodes;
 
-    std::vector<EdgeT> edges;
+    std::vector<UEdgeT> edges;
 
     int first_anode;
@@ -686,16 +686,16 @@
     };
 
-    class Edge {
+    class UEdge {
       friend class ListBpUGraphBase;
     protected:
       int id;
 
-      explicit Edge(int _id) { id = _id;}
+      explicit UEdge(int _id) { id = _id;}
     public:
-      Edge() {}
-      Edge (Invalid) { id = -1; }
-      bool operator==(const Edge i) const {return id==i.id;}
-      bool operator!=(const Edge i) const {return id!=i.id;}
-      bool operator<(const Edge i) const {return id<i.id;}
+      UEdge() {}
+      UEdge (Invalid) { id = -1; }
+      bool operator==(const UEdge i) const {return id==i.id;}
+      bool operator!=(const UEdge i) const {return id!=i.id;}
+      bool operator<(const UEdge i) const {return id<i.id;}
     };
 
@@ -741,5 +741,5 @@
     }
   
-    void first(Edge& edge) const {
+    void first(UEdge& edge) const {
       int aNodeId = first_anode;
       while (aNodeId != -1 && aNodes[aNodeId].first_edge == -1) {
@@ -753,5 +753,5 @@
       }
     }
-    void next(Edge& edge) const {
+    void next(UEdge& edge) const {
       int aNodeId = edges[edge.id].aNode >> 1;
       edge.id = edges[edge.id].next_out;
@@ -771,17 +771,17 @@
     }
 
-    void firstOut(Edge& edge, const Node& node) const {
+    void firstFromANode(UEdge& edge, const Node& node) const {
       LEMON_ASSERT((node.id & 1) == 0, NodeSetError());
       edge.id = aNodes[node.id >> 1].first_edge;
     }
-    void nextOut(Edge& edge) const {
+    void nextFromANode(UEdge& edge) const {
       edge.id = edges[edge.id].next_out;
     }
 
-    void firstIn(Edge& edge, const Node& node) const {
+    void firstFromBNode(UEdge& edge, const Node& node) const {
       LEMON_ASSERT((node.id & 1) == 1, NodeSetError());
       edge.id = bNodes[node.id >> 1].first_edge;
     }
-    void nextIn(Edge& edge) const {
+    void nextFromBNode(UEdge& edge) const {
       edge.id = edges[edge.id].next_in;
     }
@@ -798,11 +798,11 @@
     }
   
-    static int id(const Edge& edge) {
+    static int id(const UEdge& edge) {
       return edge.id;
     }
-    static Edge edgeFromId(int id) {
-      return Edge(id);
-    }
-    int maxEdgeId() const {
+    static UEdge uEdgeFromId(int id) {
+      return UEdge(id);
+    }
+    int maxUEdgeId() const {
       return edges.size();
     }
@@ -828,8 +828,8 @@
     }
 
-    Node aNode(const Edge& edge) const {
+    Node aNode(const UEdge& edge) const {
       return Node(edges[edge.id].aNode);
     }
-    Node bNode(const Edge& edge) const {
+    Node bNode(const UEdge& edge) const {
       return Node(edges[edge.id].bNode);
     }
@@ -875,5 +875,5 @@
     }
 
-    Edge addEdge(const Node& source, const Node& target) {
+    UEdge addEdge(const Node& source, const Node& target) {
       LEMON_ASSERT(((source.id ^ target.id) & 1) == 1, NodeSetError());
       int edgeId;
@@ -883,5 +883,5 @@
       } else {
         edgeId = edges.size();
-        edges.push_back(EdgeT());
+        edges.push_back(UEdgeT());
       }
       if ((source.id & 1) == 0) {
@@ -904,5 +904,5 @@
       }
       bNodes[edges[edgeId].bNode >> 1].first_edge = edgeId;
-      return Edge(edgeId);
+      return UEdge(edgeId);
     }
 
@@ -919,5 +919,5 @@
     }
 
-    void erase(const Edge& edge) {
+    void erase(const UEdge& edge) {
       if (edges[edge.id].prev_out != -1) {
         edges[edges[edge.id].prev_out].next_out = edges[edge.id].next_out;
@@ -954,6 +954,5 @@
 
 
-  typedef BpUGraphExtender< BpUGraphBaseExtender<
-    ListBpUGraphBase> > ExtendedListBpUGraphBase;
+  typedef BpUGraphExtender< ListBpUGraphBase > ExtendedListBpUGraphBase;
 
   /// \ingroup graphs
