diff --git a/include/core/capture/capture_base.h b/include/core/capture/capture_base.h
index f8de56fd5f2eb7c9281f21aca46c61fcbc66d9ed..7eb1a10b19fe6ffcc169468c6feb69dd33aed69c 100644
--- a/include/core/capture/capture_base.h
+++ b/include/core/capture/capture_base.h
@@ -103,17 +103,17 @@ class CaptureBase : public NodeBase, public HasStateBlocks, public std::enable_s
         static std::shared_ptr<classType> emplace(FrameBasePtr _frm_ptr, T&&... all);
 
         virtual void printHeader(int depth, //
-                                 std::ostream& stream ,
                                  bool constr_by, //
                                  bool metric, //
                                  bool state_blocks,
+                                 std::ostream& stream ,
                                  std::string _tabs = "") const;
 
         void print(int depth, //
-                   std::ostream& stream,
                    bool constr_by, //
                    bool metric, //
                    bool state_blocks,
+                   std::ostream& stream = std::cout,
                    std::string _tabs = "") const;
 
     protected:
diff --git a/include/core/capture/capture_motion.h b/include/core/capture/capture_motion.h
index 868ebb0373328df593537b26663169ec87e23698..8621a0eac7a781bb08abe419bc71fc517e886bce 100644
--- a/include/core/capture/capture_motion.h
+++ b/include/core/capture/capture_motion.h
@@ -102,10 +102,10 @@ class CaptureMotion : public CaptureBase
         void setOriginCapture(CaptureBasePtr _capture_origin_ptr);
 
         virtual void printHeader(int depth, //
-                                 std::ostream& stream ,
                                  bool constr_by, //
                                  bool metric, //
                                  bool state_blocks,
+                                 std::ostream& stream ,
                                  std::string _tabs = "") const override;
 
         // member data:
diff --git a/include/core/factor/factor_base.h b/include/core/factor/factor_base.h
index ddfb449dc31624ceed35ec6941ff734c1c8b6b68..aa0164605fc80ddd0b48915a3b75e6c69c6a1b8b 100644
--- a/include/core/factor/factor_base.h
+++ b/include/core/factor/factor_base.h
@@ -207,17 +207,17 @@ class FactorBase : public NodeBase, public std::enable_shared_from_this<FactorBa
         static std::shared_ptr<classType> emplace(FeatureBasePtr _oth_ptr, T&&... all);
 
         virtual void printHeader(int depth, //
-                                 std::ostream& stream ,
                                  bool constr_by, //
                                  bool metric, //
                                  bool state_blocks,
+                                 std::ostream& stream ,
                                  std::string _tabs = "") const;
 
         void print(int depth, //
-                   std::ostream& stream,
                    bool constr_by, //
                    bool metric, //
                    bool state_blocks,
+                   std::ostream& stream = std::cout,
                    std::string _tabs = "") const;
 
     private:
diff --git a/include/core/feature/feature_base.h b/include/core/feature/feature_base.h
index f009a577ef375ec8fe7e8be15b87da3834cf9136..83e343c0c3f25aaeb0219289e143bfa8f7733fae 100644
--- a/include/core/feature/feature_base.h
+++ b/include/core/feature/feature_base.h
@@ -107,16 +107,16 @@ class FeatureBase : public NodeBase, public std::enable_shared_from_this<Feature
         static std::shared_ptr<classType> emplace(CaptureBasePtr _cpt_ptr, T&&... all);
 
         virtual void printHeader(int depth, //
-                                 std::ostream& stream ,
                                  bool constr_by, //
                                  bool metric, //
                                  bool state_blocks,
+                                 std::ostream& stream ,
                                  std::string _tabs = "") const;
         void print(int depth, //
-                   std::ostream& stream,
                    bool constr_by, //
                    bool metric, //
                    bool state_blocks,
+                   std::ostream& stream = std::cout,
                    std::string _tabs = "") const;
 
     private:
diff --git a/include/core/frame/frame_base.h b/include/core/frame/frame_base.h
index 21fef45a17463e01d71a59a9c3c95c6abc213200..32b582b04f15da321b6dd7710fda60ac9e882cac 100644
--- a/include/core/frame/frame_base.h
+++ b/include/core/frame/frame_base.h
@@ -132,17 +132,17 @@ class FrameBase : public NodeBase, public HasStateBlocks, public std::enable_sha
         static std::shared_ptr<classType> emplace(TrajectoryBasePtr _ptr, T&&... all);
 
         virtual void printHeader(int depth, //
-                                 std::ostream& stream ,
                                  bool constr_by, //
                                  bool metric, //
                                  bool state_blocks,
+                                 std::ostream& stream ,
                                  std::string _tabs = "") const;
 
         void print(int depth, //
-                   std::ostream& stream,
                    bool constr_by, //
                    bool metric, //
                    bool state_blocks,
+                   std::ostream& stream = std::cout,
                    std::string _tabs = "") const;
     private:
 
diff --git a/include/core/hardware/hardware_base.h b/include/core/hardware/hardware_base.h
index b9123d334a23b1470c5650569024defc8c346935..3c29221acb417b3d0e13fb764207e2ae05e67190 100644
--- a/include/core/hardware/hardware_base.h
+++ b/include/core/hardware/hardware_base.h
@@ -28,16 +28,16 @@ class HardwareBase : public NodeBase, public std::enable_shared_from_this<Hardwa
         const SensorBasePtrList& getSensorList() const;
 
         virtual void printHeader(int depth, //
-                                 std::ostream& stream ,
                                  bool constr_by, //
                                  bool metric, //
                                  bool state_blocks,
+                                 std::ostream& stream ,
                                  std::string _tabs = "") const;
         void print(int depth, //
-                   std::ostream& stream,
                    bool constr_by, //
                    bool metric, //
                    bool state_blocks,
+                   std::ostream& stream = std::cout,
                    std::string _tabs = "") const;
 
     private:
diff --git a/include/core/landmark/landmark_base.h b/include/core/landmark/landmark_base.h
index 49027c2a011e4bff34654e4ac52c4b3c55aa5f7c..15b423c3b398230697f066fead211569ee1a36d2 100644
--- a/include/core/landmark/landmark_base.h
+++ b/include/core/landmark/landmark_base.h
@@ -86,17 +86,17 @@ class LandmarkBase : public NodeBase, public HasStateBlocks, public std::enable_
         static LandmarkBasePtr create(const YAML::Node& _node);
 
         virtual void printHeader(int depth, //
-                                 std::ostream& stream ,
                                  bool constr_by, //
                                  bool metric, //
                                  bool state_blocks,
+                                 std::ostream& stream ,
                                  std::string _tabs = "") const;
 
         void print(int depth, //
-                   std::ostream& stream,
                    bool constr_by, //
                    bool metric, //
                    bool state_blocks,
+                   std::ostream& stream = std::cout,
                    std::string _tabs = "") const;
 
     private:
diff --git a/include/core/map/map_base.h b/include/core/map/map_base.h
index 81113892fdc00835b5c6d966d7f53dcfd21f0780..75a00a97c1a7026e51604ecca877f5b0e639f056 100644
--- a/include/core/map/map_base.h
+++ b/include/core/map/map_base.h
@@ -39,16 +39,16 @@ class MapBase : public NodeBase, public std::enable_shared_from_this<MapBase>
         void save(const std::string& _map_file_yaml, const std::string& _map_name = "Map automatically saved by Wolf");
 
         virtual void printHeader(int depth, //
-                                 std::ostream& stream ,
                                  bool constr_by, //
                                  bool metric, //
                                  bool state_blocks,
+                                 std::ostream& stream ,
                                  std::string _tabs = "") const;
         void print(int depth, //
-                   std::ostream& stream,
                    bool constr_by, //
                    bool metric, //
                    bool state_blocks,
+                   std::ostream& stream = std::cout,
                    std::string _tabs = "") const;
     private:
         std::string dateTimeNow();
diff --git a/include/core/problem/problem.h b/include/core/problem/problem.h
index edda0b3b59fa839cdb6c5156abf61e1f2c338174..3d53d831ff5901b9adf597ce50b7beb04051f74d 100644
--- a/include/core/problem/problem.h
+++ b/include/core/problem/problem.h
@@ -334,11 +334,6 @@ class Problem : public std::enable_shared_from_this<Problem>
 
     public:
         // Print and check ---------------------------------------
-        void print(int depth, //
-                   std::ostream& stream ,
-                   bool constr_by, //
-                   bool metric, //
-                   bool state_blocks) const;
         /**
          * \brief print wolf tree
          * \param depth :        levels to show ( 0: H, T, M : 1: H:S:p, T:F, M:L ; 2: T:F:C ; 3: T:F:C:f ; 4: T:F:C:f:c )
@@ -349,7 +344,8 @@ class Problem : public std::enable_shared_from_this<Problem>
         void print(int depth = 4, //
                    bool constr_by = false, //
                    bool metric = true, //
-                   bool state_blocks = false) const;
+                   bool state_blocks = false,
+                   std::ostream& stream = std::cout) const;
         void print(const std::string& depth, //
                    bool constr_by = false, //
                    bool metric = true, //
diff --git a/include/core/processor/processor_base.h b/include/core/processor/processor_base.h
index 2edffe8933ebdad75bce4f5603cd6dee771f8369..0c6dff6cb340ab8e32cc466c5c44e3d22d44d981 100644
--- a/include/core/processor/processor_base.h
+++ b/include/core/processor/processor_base.h
@@ -363,17 +363,17 @@ class ProcessorBase : public NodeBase, public std::enable_shared_from_this<Proce
         void setVotingAuxActive(bool _voting_active = true);
 
         virtual void printHeader(int depth, //
-                                 std::ostream& stream ,
                                  bool constr_by, //
                                  bool metric, //
                                  bool state_blocks,
+                                 std::ostream& stream ,
                                  std::string _tabs = "") const;
 
         void print(int depth, //
-                   std::ostream& stream,
                    bool constr_by, //
                    bool metric, //
                    bool state_blocks,
+                   std::ostream& stream = std::cout,
                    std::string _tabs = "") const;
 };
 
diff --git a/include/core/processor/processor_motion.h b/include/core/processor/processor_motion.h
index 03c810e6de6740b04acfaaec32bd4a9d177f9dee..baee3d0d1dd370920c190ddccee5ab21f0e67268 100644
--- a/include/core/processor/processor_motion.h
+++ b/include/core/processor/processor_motion.h
@@ -458,10 +458,10 @@ class ProcessorMotion : public ProcessorBase, public IsMotion
         void setAngleTurned(const double& _angle_turned);
 
         void printHeader(int depth, //
-                         std::ostream& stream ,
                          bool constr_by, //
                          bool metric, //
                          bool state_blocks,
+                         std::ostream& stream ,
                          std::string _tabs = "") const override;
 
     protected:
diff --git a/include/core/processor/processor_tracker.h b/include/core/processor/processor_tracker.h
index 116dbec0f4dd0db23d790ccbd64cb4a9ff195f8e..b8de415cc3da05ba2aa81225693d3abf245d94c5 100644
--- a/include/core/processor/processor_tracker.h
+++ b/include/core/processor/processor_tracker.h
@@ -247,10 +247,10 @@ class ProcessorTracker : public ProcessorBase
         }
 
         void printHeader(int depth, //
-                         std::ostream& stream ,
                          bool constr_by, //
                          bool metric, //
                          bool state_blocks,
+                         std::ostream& stream ,
                          std::string _tabs = "") const override;
 
     protected:
diff --git a/include/core/sensor/sensor_base.h b/include/core/sensor/sensor_base.h
index 78dea51330c6114997cf9a7875720a7e7781adce..2bf9d2bbc902622e984a88471b62782115088fec 100644
--- a/include/core/sensor/sensor_base.h
+++ b/include/core/sensor/sensor_base.h
@@ -243,16 +243,16 @@ class SensorBase : public NodeBase, public HasStateBlocks, public std::enable_sh
         Eigen::MatrixXd getNoiseCov() const;
 
         virtual void printHeader(int depth, //
-                                 std::ostream& stream ,
                                  bool constr_by, //
                                  bool metric, //
                                  bool state_blocks,
+                                 std::ostream& stream ,
                                  std::string _tabs = "") const;
         void print(int depth, //
-                   std::ostream& stream,
                    bool constr_by, //
                    bool metric, //
                    bool state_blocks,
+                   std::ostream& stream = std::cout,
                    std::string _tabs = "") const;
 
 
diff --git a/include/core/trajectory/trajectory_base.h b/include/core/trajectory/trajectory_base.h
index a1974820339614701b177403a332864b999d6d20..8d6e69e41d741bd70bdc6e212df2490ecbc4b62c 100644
--- a/include/core/trajectory/trajectory_base.h
+++ b/include/core/trajectory/trajectory_base.h
@@ -48,16 +48,16 @@ class TrajectoryBase : public NodeBase, public std::enable_shared_from_this<Traj
         void updateLastFrames();
 
         virtual void printHeader(int depth, //
-                                 std::ostream& stream ,
                                  bool constr_by, //
                                  bool metric, //
                                  bool state_blocks,
+                                 std::ostream& stream ,
                                  std::string _tabs = "") const;
         void print(int depth, //
-                   std::ostream& stream,
                    bool constr_by, //
                    bool metric, //
                    bool state_blocks,
+                   std::ostream& stream = std::cout,
                    std::string _tabs = "") const;
     private:
         FrameBasePtr addFrame(FrameBasePtr _frame_ptr);
diff --git a/src/capture/capture_base.cpp b/src/capture/capture_base.cpp
index 7a5b646163e17365fc91b0f24e33f838b6a986f1..9d4b96c3b9a096089b9ad051b4cf8a48510860c1 100644
--- a/src/capture/capture_base.cpp
+++ b/src/capture/capture_base.cpp
@@ -277,7 +277,7 @@ void CaptureBase::setProblem(ProblemPtr _problem)
         ft->setProblem(_problem);
 }
 
-void CaptureBase::printHeader(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
+void CaptureBase::printHeader(int _depth, bool _constr_by, bool _metric, bool _state_blocks, std::ostream& _stream, std::string _tabs) const
 {
     _stream << _tabs << "Cap" << id() << " " << getType();
 
@@ -340,11 +340,11 @@ void CaptureBase::printHeader(int _depth, std::ostream& _stream, bool _constr_by
 //            }
 //        }
 }
-void CaptureBase::print(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
+void CaptureBase::print(int _depth, bool _constr_by, bool _metric, bool _state_blocks, std::ostream& _stream, std::string _tabs) const
 {
-    printHeader(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs);
+    printHeader(_depth, _constr_by, _metric, _state_blocks, _stream, _tabs);
     if (_depth >= 3)
         for (auto f : getFeatureList())
-            f->print(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs + "  ");
+            f->print(_depth, _constr_by, _metric, _state_blocks, _stream, _tabs + "  ");
 }
 } // namespace wolf
diff --git a/src/capture/capture_motion.cpp b/src/capture/capture_motion.cpp
index 2952a97a81ad1fdcdc32594204c5ed32f818627f..f9cda1f9ad32920b7c66c435f8fdffee1277d279 100644
--- a/src/capture/capture_motion.cpp
+++ b/src/capture/capture_motion.cpp
@@ -71,7 +71,7 @@ Eigen::VectorXd CaptureMotion::getDeltaCorrected(const VectorXd& _calib_current,
     return   delta_corrected;
 }
 
-void CaptureMotion::printHeader(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
+void CaptureMotion::printHeader(int _depth, bool _constr_by, bool _metric, bool _state_blocks, std::ostream& _stream, std::string _tabs) const
 {
     _stream << _tabs << "CapM" << id() << " " << getType();
 
diff --git a/src/factor/factor_base.cpp b/src/factor/factor_base.cpp
index 03a2898fb7e4a1277a772c281dd40429879d9f8a..c3d5f043f6af8830d88f76178a0de00d9c6bd675 100644
--- a/src/factor/factor_base.cpp
+++ b/src/factor/factor_base.cpp
@@ -299,7 +299,7 @@ void FactorBase::setProblem(ProblemPtr _problem)
         this->getProblem()->notifyFactor(shared_from_this(),ADD);
 }
 
-void FactorBase::printHeader(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
+void FactorBase::printHeader(int _depth, bool _constr_by, bool _metric, bool _state_blocks, std::ostream& _stream, std::string _tabs) const
 {
     _stream << _tabs << "Fac" << id() << " " << getType() << " -->";
     if (       getFrameOtherList()   .empty()
@@ -323,8 +323,8 @@ void FactorBase::printHeader(int _depth, std::ostream& _stream, bool _constr_by,
     _stream << std::endl;
 }
 
-void FactorBase::print(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
+void FactorBase::print(int _depth, bool _constr_by, bool _metric, bool _state_blocks, std::ostream& _stream, std::string _tabs) const
 {
-    printHeader(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs);
+    printHeader(_depth, _constr_by, _metric, _state_blocks, _stream, _tabs);
 }
 } // namespace wolf
diff --git a/src/feature/feature_base.cpp b/src/feature/feature_base.cpp
index bde4b4944e74446647922c09b98f9fb47a85d032..d3aa372b7ecdae23e6d09382f12e7fd22ff7df58 100644
--- a/src/feature/feature_base.cpp
+++ b/src/feature/feature_base.cpp
@@ -165,7 +165,7 @@ void FeatureBase::link(CaptureBasePtr _cpt_ptr)
         WOLF_WARN("Linking with nullptr");
     }
 }
-void FeatureBase::printHeader(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
+void FeatureBase::printHeader(int _depth, bool _constr_by, bool _metric, bool _state_blocks, std::ostream& _stream, std::string _tabs) const
 {
     _stream << _tabs << "Ftr" << id() << " trk" << trackId() << " " << getType() << ((_depth < 4) ? " -- " + std::to_string(getFactorList().size()) + "c  " : "");
     if (_constr_by)
@@ -181,11 +181,11 @@ void FeatureBase::printHeader(int _depth, std::ostream& _stream, bool _constr_by
 
 }
 
-void FeatureBase::print(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
+void FeatureBase::print(int _depth, bool _constr_by, bool _metric, bool _state_blocks, std::ostream& _stream, std::string _tabs) const
 {
-    printHeader(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs);
+    printHeader(_depth, _constr_by, _metric, _state_blocks, _stream, _tabs);
     if (_depth >= 4)
         for (auto c : getFactorList())
-            c->print(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs + "  ");
+            c->print(_depth, _constr_by, _metric, _state_blocks, _stream, _tabs + "  ");
 }
 } // namespace wolf
diff --git a/src/frame/frame_base.cpp b/src/frame/frame_base.cpp
index f093b55bad2e6c8718d8fc20bcda54f2f974b000..d21141d80649ebbe7331551d9f7430c1ca55e8f4 100644
--- a/src/frame/frame_base.cpp
+++ b/src/frame/frame_base.cpp
@@ -359,7 +359,7 @@ void FrameBase::setProblem(ProblemPtr _problem)
         cap->setProblem(_problem);
 }
 
-void FrameBase::printHeader(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
+void FrameBase::printHeader(int _depth, bool _constr_by, bool _metric, bool _state_blocks, std::ostream& _stream, std::string _tabs) const
 {
     _stream << _tabs << (isKeyOrAux() ? (isKey() ? "KFrm" : "AFrm") : "Frm") << id() << ((_depth < 2) ? " -- " + std::to_string(getCaptureList().size()) + "C  " : "");
     if (_constr_by)
@@ -396,11 +396,11 @@ void FrameBase::printHeader(int _depth, std::ostream& _stream, bool _constr_by,
     }
 }
 
-void FrameBase::print(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
+void FrameBase::print(int _depth, bool _constr_by, bool _metric, bool _state_blocks, std::ostream& _stream, std::string _tabs) const
 {
-    printHeader(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs);
+    printHeader(_depth, _constr_by, _metric, _state_blocks, _stream, _tabs);
     if (_depth >= 2)
         for (auto C : getCaptureList())
-            C->print(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs + "  ");
+            C->print(_depth, _constr_by, _metric, _state_blocks, _stream, _tabs + "  ");
 }
 } // namespace wolf
diff --git a/src/hardware/hardware_base.cpp b/src/hardware/hardware_base.cpp
index 7d3e3c2a4274eaa88d3a949f6b293993e221ec8a..7456b1745b67eee31640ebb065d14198db54215f 100644
--- a/src/hardware/hardware_base.cpp
+++ b/src/hardware/hardware_base.cpp
@@ -20,16 +20,16 @@ SensorBasePtr HardwareBase::addSensor(SensorBasePtr _sensor_ptr)
     return _sensor_ptr;
 }
 
-void HardwareBase::printHeader(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
+void HardwareBase::printHeader(int _depth, bool _constr_by, bool _metric, bool _state_blocks, std::ostream& _stream, std::string _tabs) const
 {
     _stream << _tabs << "Hardware" << ((_depth < 1) ? ("   -- " + std::to_string(getSensorList().size()) + "S") : "")  << std::endl;
 
 }
-void HardwareBase::print(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
+void HardwareBase::print(int _depth, bool _constr_by, bool _metric, bool _state_blocks, std::ostream& _stream, std::string _tabs) const
 {
-    printHeader(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs);
+    printHeader(_depth, _constr_by, _metric, _state_blocks, _stream, _tabs);
     if (_depth >= 1)
         for (auto S : getSensorList())
-            S->print(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs + "  ");
+            S->print(_depth, _constr_by, _metric, _state_blocks, _stream, _tabs + "  ");
 }
 } // namespace wolf
diff --git a/src/landmark/landmark_base.cpp b/src/landmark/landmark_base.cpp
index 9c93ba591ed43350984360ac9e01ee128aea1132..7280d7813f6e22194810563f6c7555074977c916 100644
--- a/src/landmark/landmark_base.cpp
+++ b/src/landmark/landmark_base.cpp
@@ -153,7 +153,7 @@ bool LandmarkBase::isConstrainedBy(const FactorBasePtr &_factor) const
         return false;
 }
 
-void LandmarkBase::printHeader(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
+void LandmarkBase::printHeader(int _depth, bool _constr_by, bool _metric, bool _state_blocks, std::ostream& _stream, std::string _tabs) const
 {
     _stream << _tabs << "Lmk" << id() << " " << getType();
     if (_constr_by)
@@ -189,9 +189,9 @@ void LandmarkBase::printHeader(int _depth, std::ostream& _stream, bool _constr_b
     }
 }
 
-void LandmarkBase::print(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
+void LandmarkBase::print(int _depth, bool _constr_by, bool _metric, bool _state_blocks, std::ostream& _stream, std::string _tabs) const
 {
-    printHeader(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs);
+    printHeader(_depth, _constr_by, _metric, _state_blocks, _stream, _tabs);
 }
 LandmarkBasePtr LandmarkBase::create(const YAML::Node& _node)
 {
diff --git a/src/map/map_base.cpp b/src/map/map_base.cpp
index 6dc86a98e169def22a598a433cd04cf991f2a223..bfd799e68de1ddf6dad43ab58ab98284af391413 100644
--- a/src/map/map_base.cpp
+++ b/src/map/map_base.cpp
@@ -90,15 +90,15 @@ std::string MapBase::dateTimeNow()
     return date_time;
 }
 
-void MapBase::printHeader(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
+void MapBase::printHeader(int _depth, bool _constr_by, bool _metric, bool _state_blocks, std::ostream& _stream, std::string _tabs) const
 {
     _stream << _tabs << "Map" << ((_depth < 1) ? ("        -- " + std::to_string(getLandmarkList().size()) + "L") : "") << std::endl;
 }
-void MapBase::print(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
+void MapBase::print(int _depth, bool _constr_by, bool _metric, bool _state_blocks, std::ostream& _stream, std::string _tabs) const
 {
-    printHeader(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs);
+    printHeader(_depth, _constr_by, _metric, _state_blocks, _stream, _tabs);
     if (_depth >= 1)
         for (auto L : getLandmarkList())
-            L->print(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs + "  ");
+            L->print(_depth, _constr_by, _metric, _state_blocks, _stream, _tabs + "  ");
 }
 } // namespace wolf
diff --git a/src/problem/problem.cpp b/src/problem/problem.cpp
index edd4a25e28ef980d639983a41fbc05c7bed83242..5854fc0e24861da0e305611a625e2c3837228bf9 100644
--- a/src/problem/problem.cpp
+++ b/src/problem/problem.cpp
@@ -952,17 +952,17 @@ void Problem::saveMap(const std::string& _filename_dot_yaml, const std::string&
     getMap()->save(_filename_dot_yaml, _map_name);
 }
 
-void Problem::print(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks) const
+void Problem::print(int _depth, bool _constr_by, bool _metric, bool _state_blocks, std::ostream& _stream) const
 {
 
     _stream << std::endl;
     _stream << "P: wolf tree status ---------------------" << std::endl;
 
-    getHardware()->print(_depth, _stream, _constr_by, _metric, _state_blocks);
+    getHardware()->print(_depth, _constr_by, _metric, _state_blocks, _stream, "");
 
-    getTrajectory()->print(_depth, _stream, _constr_by, _metric, _state_blocks);
+    getTrajectory()->print(_depth, _constr_by, _metric, _state_blocks, _stream, "");
 
-    getMap()->print(_depth, _stream, _constr_by, _metric, _state_blocks);
+    getMap()->print(_depth, _constr_by, _metric, _state_blocks, _stream, "");
 
     _stream << "-----------------------------------------" << std::endl;
     _stream << std::endl;
@@ -1615,10 +1615,6 @@ bool Problem::check(int _verbose_level) const
 {
     return check((_verbose_level > 0), std::cout);
 }
-void Problem::print(int depth, bool constr_by, bool metric, bool state_blocks) const
-{
-    print(depth, std::cout, constr_by, metric, state_blocks);
-}
 void Problem::print(const std::string& depth, bool constr_by, bool metric, bool state_blocks) const
 {
     if (depth.compare("T") == 0)
diff --git a/src/processor/processor_base.cpp b/src/processor/processor_base.cpp
index bfcf89fa194aca54ddcaacf916c5387ea1929cbf..cb9d38a003dcdb7d922595f960c89a82933820a7 100644
--- a/src/processor/processor_base.cpp
+++ b/src/processor/processor_base.cpp
@@ -196,14 +196,14 @@ void BufferPackKeyFrame::print(void) const
     std::cout << "]" << std::endl;
 }
 
-void ProcessorBase::printHeader(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
+void ProcessorBase::printHeader(int _depth, bool _constr_by, bool _metric, bool _state_blocks, std::ostream& _stream, std::string _tabs) const
 {
     _stream << _tabs << "Prc" << id() << " " << getType() << " \"" << getName() << "\"" << std::endl;
 
 }
 
-void ProcessorBase::print(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
+void ProcessorBase::print(int _depth, bool _metric, bool _state_blocks, bool _constr_by, std::ostream& _stream, std::string _tabs) const
 {
-    printHeader(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs);
+    printHeader(_depth, _constr_by, _metric, _state_blocks, _stream, _tabs);
 }
 } // namespace wolf
diff --git a/src/processor/processor_motion.cpp b/src/processor/processor_motion.cpp
index 9c512a923bb698fb67b440bfacaf9f7a0ba9661f..317668b766ff72b671859d2f8ed661551ad4cc01 100644
--- a/src/processor/processor_motion.cpp
+++ b/src/processor/processor_motion.cpp
@@ -660,7 +660,7 @@ bool ProcessorMotion::storeCapture(CaptureBasePtr _cap_ptr)
   return false;
 }
 
-void ProcessorMotion::printHeader(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
+void ProcessorMotion::printHeader(int _depth, bool _constr_by, bool _metric, bool _state_blocks, std::ostream& _stream, std::string _tabs) const
 {
     _stream << _tabs << "PrcM" << id() << " " << getType() << " \"" << getName() << "\"" << std::endl;
     if (getOrigin())
diff --git a/src/processor/processor_tracker.cpp b/src/processor/processor_tracker.cpp
index 2a1703b3d058c56ef8ffd0e299e4cef554e0e9fd..5e1203d152d6c715b8ba968da1320b8ca611bfd9 100644
--- a/src/processor/processor_tracker.cpp
+++ b/src/processor/processor_tracker.cpp
@@ -322,7 +322,7 @@ bool ProcessorTracker::storeCapture(CaptureBasePtr _cap_ptr)
   return false;
 }
 
-void ProcessorTracker::printHeader(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
+void ProcessorTracker::printHeader(int _depth, bool _constr_by, bool _metric, bool _state_blocks, std::ostream& _stream, std::string _tabs) const
 {
     _stream << _tabs << "PrcT" << id() << " " << getType() << " \"" << getName() << "\"" << std::endl;
     if (getOrigin())
diff --git a/src/sensor/sensor_base.cpp b/src/sensor/sensor_base.cpp
index 4089d3c951c691472a76adefcadd1b9ce4123b07..c91633531d4e6f65b964a58c546d32e05d72902d 100644
--- a/src/sensor/sensor_base.cpp
+++ b/src/sensor/sensor_base.cpp
@@ -467,7 +467,7 @@ void SensorBase::link(HardwareBasePtr _hw_ptr)
     }
 }
 
-void SensorBase::printHeader(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
+void SensorBase::printHeader(int _depth, bool _constr_by, bool _metric, bool _state_blocks, std::ostream& _stream, std::string _tabs) const
 {
     _stream << _tabs << "Sen" << id() << " " << getType() << " \"" << getName() << "\"";
     if (_depth < 2)
@@ -509,12 +509,12 @@ void SensorBase::printHeader(int _depth, std::ostream& _stream, bool _constr_by,
     }
 }
 
-void SensorBase::print(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
+void SensorBase::print(int _depth, bool _constr_by, bool _metric, bool _state_blocks, std::ostream& _stream, std::string _tabs) const
 {
-    printHeader(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs);
+    printHeader(_depth, _constr_by, _metric, _state_blocks, _stream, _tabs);
 
     if (_depth >= 2)
         for (auto p : getProcessorList())
-            p->print(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs + "  ");
+            p->print(_depth, _constr_by, _metric, _state_blocks, _stream, _tabs + "  ");
 }
 } // namespace wolf
diff --git a/src/trajectory/trajectory_base.cpp b/src/trajectory/trajectory_base.cpp
index 087b79af934d2afac3c160a620d255d89bf5d14b..b7e7d0155379d04ffcf82fc83e01f44a205f0d56 100644
--- a/src/trajectory/trajectory_base.cpp
+++ b/src/trajectory/trajectory_base.cpp
@@ -136,16 +136,16 @@ FrameBasePtr TrajectoryBase::closestKeyOrAuxFrameToTimeStamp(const TimeStamp& _t
     return closest_kf;
 }
 
-void TrajectoryBase::printHeader(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
+void TrajectoryBase::printHeader(int _depth, bool _metric, bool _state_blocks, bool _constr_by, std::ostream& _stream, std::string _tabs) const
 {
     _stream << _tabs << "Trajectory" << ((_depth < 1) ? (" -- " + std::to_string(getFrameList().size()) + "F") : "")  << std::endl;
 }
-void TrajectoryBase::print(int _depth, std::ostream& _stream, bool _constr_by, bool _metric, bool _state_blocks, std::string _tabs) const
+void TrajectoryBase::print(int _depth, bool _constr_by, bool _metric, bool _state_blocks, std::ostream& _stream, std::string _tabs) const
 {
-    printHeader(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs);
+    printHeader(_depth, _constr_by, _metric, _state_blocks, _stream, _tabs);
     if (_depth >= 1)
         for (auto F : getFrameList())
-            F->print(_depth, _stream, _constr_by, _metric, _state_blocks, _tabs + "  ");
+            F->print(_depth, _constr_by, _metric, _state_blocks, _stream, _tabs + "  ");
 
 }
 } // namespace wolf
diff --git a/test/gtest_capture_base.cpp b/test/gtest_capture_base.cpp
index 81271d9af42eaf92c687723584b95aaebd62e030..4c004cd72e14e9e69bb343e288ab86e3a5b9354e 100644
--- a/test/gtest_capture_base.cpp
+++ b/test/gtest_capture_base.cpp
@@ -88,7 +88,7 @@ TEST(CaptureBase, print)
     // FeatureBasePtr f = C->addFeature(std::make_shared<FeatureBase>("DUMMY", Vector2d::Zero(), Matrix2d::Identity()));
     auto f = FeatureBase::emplace<FeatureBase>(C, "DUMMY", Vector2d::Zero(), Matrix2d::Identity());
 
-    C->print(4, std::cout, 1, 1, 1);
+    C->print(4, 1, 1, 1);
 }
 
 TEST(CaptureBase, process)