diff --git a/demos/homology.geo b/demos/homology.geo
index 9836ecf420c192155a3e5ec86e1e2b29eba1b337..de0500b9a47eb5da874824d12a45fa16580745ce 100644
--- a/demos/homology.geo
+++ b/demos/homology.geo
@@ -1,20 +1,15 @@
 /********************************************************************* 
  *
- *  Gmsh tutorial 10
+ *  Gmsh tutorial 
  *
- *  Homology computation
+ *  Homology and cohomology computation
  *
  *********************************************************************/
  
 // Homology computation in Gmsh finds representative chains of
-// (relative) homology spaces using a mesh of a model. Those
-// representatives generate the (relative) homology spaces of the
-// model. Alternatively, Gmsh can only look for the ranks of the
-// (relative) homology spaces, the Betti numbers of the model.
-
-// The generators chains are stored in a given .msh-file as physical
-// groups, whose mesh elements are oriented such that their
-// coefficients are 1 in the generator chain.
+// (relative) (co)homology space bases using a mesh of a model. 
+// The representative basis chains are stored in the mesh as 
+// physical groups of Gmsh, one for each chain. 
 
 // Create an example geometry
 
@@ -134,27 +129,40 @@ Physical Surface(74) = {46, 18, 20, 52, 22, 50, 24, 48, 66, 63, 60, 58, 56, 54};
 Physical Surface(75) = {46, 63, 66, 52, 50, 48, 54, 60, 58, 56};
 
 
-// Create a mesh of the model
-Mesh 3;
-
-// Find generators of relative homology spaces of the domain modulo the 
-// four terminals.
-// Save the generator chains to t10_hom.msh.
-HomGen("t10_hom.msh") = {{69}, {70, 71, 72, 73}};
+// Find bases for relative homology spaces of 
+// the domain modulo the four terminals.
+Homology {{69}, {70, 71, 72, 73}};
 
-// Find the corresponding thin cuts, 
-// generators of relative homology spaces modulo the 
-// non-terminal domain surface.
-// Save the cut chains to t10_hom.msh.
-HomGen("t10_hom.msh") = {{69}, {75}};
+// Find homology space bases isomorphic to the previous bases: 
+// homology spaces modulo the non-terminal domain surface,
+// a.k.a the thin cuts.
+Homology {{69}, {75}};
 
-// Find the corresponding thick cuts.
-// Save the cut chains to t10_hom.msh.
-HomCut("t10_hom.msh") = {{69}, {70, 71, 72, 73}};
+// Find cohomology space bases isomorphic to the previous bases: 
+// cohomology spaces of the domain modulo the four terminals,
+// a.k.a the thick cuts.
+Cohomology {{69}, {70, 71, 72, 73}};
 
 // More examples (uncomment):
-//  HomGen("t10_hom.msh") = {{69}, {}}; 
-//  HomGen("t10_hom.msh") = {{}, {}};
-//  HomGen("t10_hom.msh") = {{69}, {74}}; 
-//  HomGen("t10_hom.msh") = {{}, {74}}; 
+//  Homology = {{69}, {}}; 
+//  Homology {{69}, {74}}; 
+//  Homology {{74}, {70, 71, 72, 73}}; 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+