Index: src/hugo/graph_wrapper.h
===================================================================
--- src/hugo/graph_wrapper.h	(revision 844)
+++ src/hugo/graph_wrapper.h	(revision 849)
@@ -230,4 +230,7 @@
       NodeMap(const GraphWrapper<Graph>& gw) :  Parent(*(gw.graph)) { }
       NodeMap(const GraphWrapper<Graph>& gw, T a) : Parent(*(gw.graph), a) { }
+//       NodeMap(const NodeMap<T>& map) : Parent(map) { }
+//       template<typename Map>
+//       NodeMap(const Map& map) :  Parent(map) { }
     };
 
@@ -237,4 +240,7 @@
       EdgeMap(const GraphWrapper<Graph>& gw) : Parent(*(gw.graph)) { }
       EdgeMap(const GraphWrapper<Graph>& gw, T a) : Parent(*(gw.graph), a) { }
+//       EdgeMap(const EdgeMap<T>& map) : Parent(map) { }
+//       template<typename Map>
+//       EdgeMap(const Map& map) :  Parent(map) { }
     };
   };
Index: src/hugo/preflow.h
===================================================================
--- src/hugo/preflow.h	(revision 836)
+++ src/hugo/preflow.h	(revision 849)
@@ -345,5 +345,5 @@
     ///cut. This method can be called both after running \ref
     ///phase1 and \ref phase2. It is much faster after
-    ///\ref phase1.  \pre M should be a node map of bools. \pre
+    ///\ref phase1.  \pre M should be a bool-valued node-map. \pre
     ///If \ref mincut is called after \ref phase2 then M should
     ///be initialized to false.
Index: src/test/graph_wrapper_test.cc
===================================================================
--- src/test/graph_wrapper_test.cc	(revision 849)
+++ src/test/graph_wrapper_test.cc	(revision 849)
@@ -0,0 +1,138 @@
+#include<iostream>
+#include<hugo/smart_graph.h>
+#include<hugo/skeletons/graph.h>
+#include<hugo/list_graph.h>
+#include<hugo/full_graph.h>
+#include<hugo/graph_wrapper.h>
+
+#include"test_tools.h"
+#include"graph_test.h"
+
+/**
+\file
+This test makes consistency checks of list graph structures.
+
+G.addNode(), G.addEdge(), G.tail(), G.head()
+
+\todo Checks for empty graphs and isolated points.
+conversion.
+*/
+
+using namespace hugo;
+
+template<class Graph> void bidirPetersen(Graph &G)
+{
+  typedef typename Graph::Edge Edge;
+  typedef typename Graph::EdgeIt EdgeIt;
+  
+  checkGraphEdgeList(G,15);
+  
+  std::vector<Edge> ee;
+  
+  for(EdgeIt e(G);e!=INVALID;++e) ee.push_back(e);
+
+  for(typename std::vector<Edge>::iterator p=ee.begin();p!=ee.end();p++)
+    G.addEdge(G.head(*p),G.tail(*p));
+}
+
+template<class Graph> void checkPetersen(Graph &G)
+{
+  typedef typename Graph::Node Node;
+
+  typedef typename Graph::EdgeIt EdgeIt;
+  typedef typename Graph::NodeIt NodeIt;
+
+  checkGraphNodeList(G,10);
+  checkGraphEdgeList(G,30);
+
+  for(NodeIt n(G);n!=INVALID;++n) {
+    checkGraphInEdgeList(G,n,3);
+    checkGraphOutEdgeList(G,n,3);
+    ++n;
+  }  
+}
+
+//Compile GraphSkeleton
+template void checkCompileStaticGraph<skeleton::StaticGraphSkeleton>
+(skeleton::StaticGraphSkeleton &);
+
+template void checkCompileGraph<skeleton::GraphSkeleton>
+(skeleton::GraphSkeleton &);
+
+template void checkCompileErasableGraph<skeleton::ErasableGraphSkeleton>
+(skeleton::ErasableGraphSkeleton &);
+
+//Compile SmartGraph
+typedef SmartGraph Graph;
+typedef GraphWrapper<Graph> GW;
+template void checkCompileStaticGraph<GW>(GW &);
+//template void checkCompileGraphFindEdge<SmartGraph>(SmartGraph &);
+
+//Compile SymSmartGraph
+typedef RevGraphWrapper<Graph> RevGW;
+template void checkCompileStaticGraph<RevGW>(RevGW &);
+//template void checkCompileGraphFindEdge<SymSmartGraph>(SymSmartGraph &);
+
+// //Compile ListGraph
+// template void checkCompileGraph<ListGraph>(ListGraph &);
+// template void checkCompileErasableGraph<ListGraph>(ListGraph &);
+// template void checkCompileGraphFindEdge<ListGraph>(ListGraph &);
+
+
+// //Compile SymListGraph
+// template void checkCompileGraph<SymListGraph>(SymListGraph &);
+// template void checkCompileErasableGraph<SymListGraph>(SymListGraph &);
+// template void checkCompileGraphFindEdge<SymListGraph>(SymListGraph &);
+
+// //Compile FullGraph
+// template void checkCompileStaticGraph<FullGraph>(FullGraph &);
+// template void checkCompileGraphFindEdge<FullGraph>(FullGraph &);
+
+// //Compile EdgeSet <ListGraph>
+// template void checkCompileGraph<EdgeSet <ListGraph> >(EdgeSet <ListGraph> &);
+// template void checkCompileGraphEraseEdge<EdgeSet <ListGraph> >
+// (EdgeSet <ListGraph> &);
+// template void checkCompileGraphFindEdge<EdgeSet <ListGraph> >
+// (EdgeSet <ListGraph> &);
+
+// //Compile EdgeSet <NodeSet>
+// template void checkCompileGraph<EdgeSet <NodeSet> >(EdgeSet <NodeSet> &);
+// template void checkCompileGraphEraseEdge<EdgeSet <NodeSet> >
+// (EdgeSet <NodeSet> &);
+// template void checkCompileGraphFindEdge<EdgeSet <NodeSet> >
+// (EdgeSet <NodeSet> &);
+
+
+int main() 
+{
+ //  {
+//     SmartGraph G;
+//     addPetersen(G);
+//     bidirPetersen(G);
+//     checkPetersen(G);
+//   }
+//   {
+//     ListGraph G;
+//     addPetersen(G);
+//     bidirPetersen(G);
+//     checkPetersen(G);
+//   }
+//   {
+//     SymSmartGraph G;
+//     addPetersen(G);
+//     checkPetersen(G);
+//   }
+//   {
+//     SymListGraph G;
+//     addPetersen(G);
+//     checkPetersen(G);
+//   }
+
+  ///\file
+  ///\todo map tests.
+  ///\todo copy constr tests.
+
+  std::cout << __FILE__ ": All tests passed.\n";
+
+  return 0;
+}
Index: src/work/marci/graph_wrapper_time.cc
===================================================================
--- src/work/marci/graph_wrapper_time.cc	(revision 784)
+++ src/work/marci/graph_wrapper_time.cc	(revision 849)
@@ -11,5 +11,5 @@
 #include <hugo/time_measure.h>
 #include <hugo/graph_wrapper.h>
-#include <hugo/max_flow.h>
+#include <hugo/preflow.h>
 #include <hugo/dimacs.h>
 #include <hugo/list_graph.h>
@@ -33,7 +33,7 @@
   ts.reset();
 
-  typedef MaxFlow<Graph, int, FlowMap, FlowMap> MyMaxFlow;
-  MyMaxFlow max_flow(g, s, t, cap, flow);
-  max_flow.run(MyMaxFlow::NO_FLOW);
+  typedef Preflow<Graph, int, FlowMap, FlowMap> MyPreflow;
+  MyPreflow max_flow(g, s, t, cap, flow);
+  max_flow.run(MyPreflow::NO_FLOW);
   cout << "flow value: " << max_flow.flowValue() << endl;
   cout << ts << endl;
Index: src/work/marci/max_flow_demo.cc
===================================================================
--- src/work/marci/max_flow_demo.cc	(revision 777)
+++ src/work/marci/max_flow_demo.cc	(revision 849)
@@ -13,5 +13,5 @@
 #include <hugo/time_measure.h>
 //#include <graph_wrapper.h>
-#include <hugo/max_flow.h>
+#include <hugo/preflow.h>
 #include <augmenting_flow.h>
 //#include <preflow_res.h>
@@ -39,5 +39,5 @@
   Timer ts;
   Graph::EdgeMap<int> flow(g); //0 flow
-  MaxFlow<Graph, int, Graph::EdgeMap<int>, Graph::EdgeMap<int> > 
+  Preflow<Graph, int, Graph::EdgeMap<int>, Graph::EdgeMap<int> > 
     max_flow_test(g, s, t, cap, flow);
   AugmentingFlow<Graph, int, Graph::EdgeMap<int>, Graph::EdgeMap<int> > 
@@ -52,5 +52,5 @@
     std::cout << "elapsed time: " << ts << std::endl;
     std::cout << "flow value: "<< max_flow_test.flowValue() << std::endl;
-    max_flow_test.actMinCut(cut);
+    max_flow_test.minCut(cut);
 
     FOR_EACH_LOC(Graph::EdgeIt, e, g) {
@@ -66,5 +66,5 @@
     FOR_EACH_LOC(Graph::EdgeIt, e, g) flow.set(e, 0);
     ts.reset();
-    max_flow_test.preflow(MaxFlow<Graph, int, Graph::EdgeMap<int>, Graph::EdgeMap<int> >::GEN_FLOW);
+    max_flow_test.preflow(Preflow<Graph, int, Graph::EdgeMap<int>, Graph::EdgeMap<int> >::GEN_FLOW);
     std::cout << "elapsed time: " << ts << std::endl;
     std::cout << "flow value: "<< max_flow_test.flowValue() << std::endl;
