diff --git a/cpp/full_code/ornstein_uhlenbeck_process.cpp b/cpp/full_code/ornstein_uhlenbeck_process.cpp
index 101093e940b2f06e6acafd3fde75458303c524f6..38e50b1d0708989047b2e1166e25b72ae785471c 100644
--- a/cpp/full_code/ornstein_uhlenbeck_process.cpp
+++ b/cpp/full_code/ornstein_uhlenbeck_process.cpp
@@ -55,6 +55,7 @@ template <class rnumber,field_backend be>
 void ornstein_uhlenbeck_process<rnumber,be>::step(
     double dt)
 {
+    // put in "CFL"-criterium TODO!!!
     TIMEZONE("ornstein_uhlenbeck_process::step");
     this->kk->CLOOP_K2(
                 [&](ptrdiff_t cindex,
@@ -152,6 +153,18 @@ void ornstein_uhlenbeck_process<rnumber,be>::initialize_B()
         });
 }
 
+
+
+template <class rnumber, field_backend be>
+void ornstein_uhlenbeck_process<rnumber, be>::let_converge(void)
+{
+  //add some logic here TODO
+  for(int i=0; i<1000; i++)
+  {
+    this->step(2e-3);
+  }
+}
+
 template <class rnumber, field_backend be>
 void ornstein_uhlenbeck_process<rnumber,be>::add_to_field_replace(
   field<rnumber, be, THREE> *src)
diff --git a/cpp/full_code/ornstein_uhlenbeck_process.hpp b/cpp/full_code/ornstein_uhlenbeck_process.hpp
index 676ec527b3598639c5b9408af29d3eb14f55b51a..6883c9658255b1b7bee136008ce34388114633a4 100644
--- a/cpp/full_code/ornstein_uhlenbeck_process.hpp
+++ b/cpp/full_code/ornstein_uhlenbeck_process.hpp
@@ -52,6 +52,8 @@ class ornstein_uhlenbeck_process{
         }
         void initialize_B(void);
 
+        void let_converge(void);
+
         void add_to_field_gaussian(
           field<rnumber,be,THREE> *src, double param);
         void add_to_field_sharp(