diff --git a/utils/api_demos/mainHomology.cpp b/utils/api_demos/mainHomology.cpp
index be886c3a0450a9daa4aec032bb691d16a8484de3..429115985903a6d9f87f2697501f6cb07bd7a942 100644
--- a/utils/api_demos/mainHomology.cpp
+++ b/utils/api_demos/mainHomology.cpp
@@ -32,11 +32,8 @@ int main(int argc, char **argv)
   // initialize
   Homology* homology = new Homology(m, domain, subdomain);
 
-  // save all resulting chains to a file as physical groups
-  homology->setFileName("homology.msh");
-
   // construct cell complex of the meshed domain
-  CellComplex *cc = homology->createCellComplex();
+  CellComplex* cc = homology->createCellComplex();
 
   // find homology basis elements
   homology->findHomologyBasis(cc);
@@ -47,6 +44,13 @@ int main(int argc, char **argv)
   // find cohomology basis elements
   homology->findCohomologyBasis(cc);
 
+  // add 1 and 2 dimensional result chains to model
+  homology->addChainsToModel(1);
+  homology->addChainsToModel(2);
+
+  // write mesh with (co)homology computation result chains
+  m->writeMSh("model_hom.msh");
+
   delete cc;
   delete homology;
   delete m;