diff --git a/simucene/glut_grapher.cpp b/simucene/glut_grapher.cpp
index 256a59466e009d8ab224dc6f41f2d4482e89e084..6c2219b3f6efa7bb8a3a165bd61f3cfd4d314558 100644
--- a/simucene/glut_grapher.cpp
+++ b/simucene/glut_grapher.cpp
@@ -1,20 +1,8 @@
 #include "glut_grapher.h"
-#include <iostream>
-#include <iomanip>
 #include <thread>
 
 namespace simucene {
 
-//--------------------------------------------------------------------------------------------------
-template <typename T>
-void print_vector(VectorX<T> const& vec) {
-    std::cout << std::fixed << std::setprecision(3);
-    for (uint32_t i = 0; i < vec.size() - 1; ++i) {
-        std::cout << std::setw(5) << vec[i] << ", ";
-    }
-    std::cout << vec[vec.size() - 1] << '\n';
-}
-
 //..................................................................................................
 void GlutGrapher::initialize(
     VectorX<Scalar>&& state,
diff --git a/simucene/main.cpp b/simucene/main.cpp
index 1489d5b418bd3f7f1a0de4559ad99c909ee997ff..cf801ca88c84f035647af5c12fa190748065ebc5 100644
--- a/simucene/main.cpp
+++ b/simucene/main.cpp
@@ -1,6 +1,5 @@
 #include "matrix_builder.h"
 #include "glut_grapher.h"
-#include <iostream>
 
 using namespace simucene;
 
@@ -44,10 +43,10 @@ Scalar normal_pdf(Scalar x, Scalar mean, Scalar std_dev)
 int main(int, char**) {
     // primary parameters of the simulation
     Scalar const max_x = 1;
-    int32_t const dim = 1000;
-    Scalar const h = 1e-8;
-    Scalar const advection_coefficient = -1e3;
-    Scalar const diffusion_coefficient = 1e1;
+    int32_t const dim = 100;
+    Scalar const h = 1e-3;
+    Scalar const advection_coefficient = 1;
+    Scalar const diffusion_coefficient = 0;
     VectorX<Scalar> reaction_coefficients = VectorX<Scalar>::Zero(dim);
 
     // derived quantities
@@ -84,12 +83,13 @@ int main(int, char**) {
 
     // iterate
     /*
-    for (uint32_t i = 0; i < 100; ++i) {
+    uint32_t n_iterations = 100;
+    for (uint32_t i = 0; i < n_iterations; ++i) {
         std::cout << i << ": ";
         print_vector(state);
         state += transport_matrix * state;
     }
-    std::cout << 100 << ": ";
+    std::cout << n_iterations << ": ";
     print_vector(state);
     */
 
diff --git a/simucene/vector.h b/simucene/vector.h
index 72ee26725aaaf396b1573840703b190fb46bebea..778855372debf78a26b5f344d2212481891affa9 100644
--- a/simucene/vector.h
+++ b/simucene/vector.h
@@ -3,6 +3,8 @@
 
 #include <Eigen/Core>
 #include <Eigen/Sparse>
+#include <iostream>
+#include <iomanip>
 
 namespace simucene {
 
@@ -38,6 +40,16 @@ using MatrixX = Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic>;
 template <typename T>
 using SparseMatrix = Eigen::SparseMatrix<T>;
 
+//--------------------------------------------------------------------------------------------------
+template <typename T>
+void print_vector(VectorX<T> const& vec) {
+    std::cout << std::fixed << std::setprecision(3);
+    for (uint32_t i = 0; i < vec.size() - 1; ++i) {
+        std::cout << std::setw(5) << vec[i] << ", ";
+    }
+    std::cout << vec[vec.size() - 1] << '\n';
+}
+
 }
 
 #endif