diff --git a/src/language/modules/SchemeModule.cpp b/src/language/modules/SchemeModule.cpp
index cdfb86ed154e8c4c56227cf041b26b85b0a44e3f..74444564248a26a25c9062dcd9ce5e38c6e21ed6 100644
--- a/src/language/modules/SchemeModule.cpp
+++ b/src/language/modules/SchemeModule.cpp
@@ -26,7 +26,8 @@ struct GlaceScheme
 
   const MeshType& m_mesh;
 
-  GlaceScheme(const IMesh& mesh, std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>> bc_descriptor_list)
+  GlaceScheme(const IMesh& mesh,
+              const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& bc_descriptor_list)
     : m_mesh{dynamic_cast<const MeshType&>(mesh)}
   {
     MeshDataType mesh_data(m_mesh);
@@ -103,6 +104,12 @@ struct GlaceScheme
       if (t + dt > tmax) {
         dt = tmax - t;
       }
+
+      std::cout.setf(std::cout.scientific);
+      std::cout << "iteration " << rang::fg::cyan << std::setw(4) << iteration << rang::style::reset
+                << " time=" << rang::fg::green << t << rang::style::reset << " dt=" << rang::fgB::blue << dt
+                << rang::style::reset << '\n';
+
       acoustic_solver.computeNextStep(t, dt, unknowns);
 
       block_eos.updatePandCFromRhoE();
@@ -110,6 +117,9 @@ struct GlaceScheme
       t += dt;
       ++iteration;
     }
+    std::cout << rang::style::bold << "Final time=" << rang::fgB::green << t << rang::style::reset << " reached after "
+              << rang::fgB::cyan << iteration << rang::style::reset << rang::style::bold << " iterations"
+              << rang::style::reset << '\n';
     vtk_writer.write(m_mesh,
                      {NamedItemValue{"density", rhoj}, NamedItemValue{"velocity", unknowns.uj()},
                       NamedItemValue{"coords", m_mesh.xr()},