diff --git a/schema/Prior.schema b/schema/Prior.schema
index 8cf11e6341a115101bc245bd5f2b713313160a67..5556861da585a34130950e32939dcb797b192344 100644
--- a/schema/Prior.schema
+++ b/schema/Prior.schema
@@ -12,10 +12,7 @@ mode:
   type: string
   yaml_type: scalar
   mandatory: true
-  options:
-    - "fix"
-    - "factor"
-    - "initial_guess"
+  options: ["fix", "factor", "initial_guess"]
   doc: The prior mode can be 'factor' to add an absolute factor (requires 'noise_std'), 'fix' to set the values constant or 'initial_guess' to just set the values
 dynamic:
   type: bool
diff --git a/schema/problem/Problem.schema b/schema/problem/Problem.schema
index 587f7bdb1d4bd005930e6650ea37c01bcaaa3ba1..12519e7b93eb693dcc4d0eb8d5f4c91fb960d414 100644
--- a/schema/problem/Problem.schema
+++ b/schema/problem/Problem.schema
@@ -1,6 +1,7 @@
 problem:
   tree_manager:
     type: derived
+    base: TreeManagerBase.schema
     yaml_type: scalar
     mandatory: true
     doc: Tree manager parameters
@@ -18,18 +19,19 @@ problem:
   #prior:
 map:
   type: derived
+  base: Map.schema
   yaml_type: scalar
   mandatory: false
   doc: The map used in the wolf problem.
-solver:
-  follow: Solver.schema
 sensors:
   yaml_type: sequence
   type: derived
+  base: SensorSequence.schema
   mandatory: true
   doc: A sequence of all the sensors.
 processors:
   yaml_type: sequence
   type: derived
+  base: ProcessorSequence.schema
   mandatory: true
   doc: A sequence of all the processors.
diff --git a/schema/processor/ProcessorBase.schema b/schema/processor/ProcessorBase.schema
index d5dcf369411efd0fea86f59b845cd7afe8758fc3..0d33f7357bd2333494ff59c763ff3530c9d8da77 100644
--- a/schema/processor/ProcessorBase.schema
+++ b/schema/processor/ProcessorBase.schema
@@ -4,18 +4,6 @@ name:
   yaml_type: scalar
   doc: The processor's name. It has to be unique.
 
-type:
-  mandatory: true
-  type: string
-  yaml_type: scalar
-  doc: The processor's class name.
-
-plugin:
-  mandatory: true
-  type: string
-  yaml_type: scalar
-  doc: The name of the wolf plugin where the processor is implemented.
-
 time_tolerance:
   mandatory: true
   type: double
diff --git a/schema/processor/ProcessorSequence.schema b/schema/processor/ProcessorSequence.schema
new file mode 100644
index 0000000000000000000000000000000000000000..a9e6b75128229de8af68304e1b0811877ead4e94
--- /dev/null
+++ b/schema/processor/ProcessorSequence.schema
@@ -0,0 +1,13 @@
+follow: ProcessorBase.schema
+
+type:
+  mandatory: true
+  type: string
+  yaml_type: scalar
+  doc: The processor's class name.
+
+plugin:
+  mandatory: true
+  type: string
+  yaml_type: scalar
+  doc: The name of the wolf plugin where the processor is implemented.
\ No newline at end of file
diff --git a/schema/sensor/SensorBase.schema b/schema/sensor/SensorBase.schema
index 07ebae6f5a36b79f3e18abbcbc41e932a468ded6..f06ab44a7ab230fa3a8a2a249223a3ab15e28647 100644
--- a/schema/sensor/SensorBase.schema
+++ b/schema/sensor/SensorBase.schema
@@ -2,16 +2,4 @@ name:
   mandatory: true
   type: string
   yaml_type: scalar
-  doc: The sensor's name. It has to be unique.
-
-type:
-  mandatory: true
-  type: string
-  yaml_type: scalar
-  doc: The sensor's class name.
-  
-plugin:
-  mandatory: true
-  type: string
-  yaml_type: scalar
-  doc: The name of the wolf plugin where the sensor is implemented.
\ No newline at end of file
+  doc: The sensor's name. It has to be unique.
\ No newline at end of file
diff --git a/schema/sensor/SensorSequence.schema b/schema/sensor/SensorSequence.schema
new file mode 100644
index 0000000000000000000000000000000000000000..832d665f270897233d7f4cfe0d529ea9c911740e
--- /dev/null
+++ b/schema/sensor/SensorSequence.schema
@@ -0,0 +1,13 @@
+follow: SensorBase.schema
+
+type:
+  mandatory: true
+  type: string
+  yaml_type: scalar
+  doc: The sensor's class name.
+  
+plugin:
+  mandatory: true
+  type: string
+  yaml_type: scalar
+  doc: The name of the wolf plugin where the sensor is implemented.
\ No newline at end of file
diff --git a/schema/solver/SolverCeres.schema b/schema/solver/SolverCeres.schema
index 81663b67834840d0c91613699d498f054d2fdb65..c262f81cbab2b13bb462380e3cdc30abcb0cb48c 100644
--- a/schema/solver/SolverCeres.schema
+++ b/schema/solver/SolverCeres.schema
@@ -25,18 +25,18 @@ function_tolerance:
   mandatory: true
   type: double
   yaml_type: scalar
-  doc: Function tolerance. Convergence criterion. Typical value: 1e-8
+  doc: "Function tolerance. Convergence criterion. Typical value: 1e-8"
 gradient_tolerance:
   mandatory: true
   type: double
   yaml_type: scalar
-  doc: gradient tolerance. Convergence criterion. Typical value: 1e-8
+  doc: "Gradient tolerance. Convergence criterion. Typical value: 1e-8"
 num_threads:
   mandatory: true
   type: unsigned int
   options: [1, 2, 3, 4]
   yaml_type: scalar
-  doc: threads used by ceres.
+  doc: Amount of hreads used by ceres.
 use_nonmonotonic_steps:
   mandatory: false
   default: false
diff --git a/schema/solver/SolverManager.schema b/schema/solver/SolverManager.schema
index 5386ee1aef1e8cf049eddfd8a8c3288634368c3d..0bb50994f2ae97685e8969ddef5a1ca6c857a764 100644
--- a/schema/solver/SolverManager.schema
+++ b/schema/solver/SolverManager.schema
@@ -8,7 +8,7 @@ verbose:
   type: int
   yaml_type: scalar
   options: [0, 1, 2]
-  doc: Verbosity of the solver. 0: Nothing, 1: Brief report, 2: Full report.
+  doc: "Verbosity of the solver. 0: Nothing, 1: Brief report, 2: Full report."
 compute_cov:
   mandatory: true
   type: bool
@@ -20,7 +20,7 @@ cov_enum:
   type: int
   options: [0, 1, 2, 3, 4, 5]
   yaml_type: scalar
-  doc: Which covariance matrix blocks have to be computed. 0: All blocks and all cross-covariances. 1: All marginals. 2: Marginals of landmarks and current robot pose plus cross covariances of current robot and all landmarks. 3: Last frame P and V. 4: Last frame P, O, V and T. 5: Last frame P and T.
+  doc: "Which covariance matrix blocks have to be computed. 0: All blocks and all cross-covariances. 1: All marginals. 2: Marginals of landmarks and current robot pose plus cross covariances of current robot and all landmarks. 3: Last frame P and V. 4: Last frame P, O, V and T. 5: Last frame P and T."
 cov_period:
   mandatory: true
   type: double
diff --git a/schema/tree_manager/None.schema b/schema/tree_manager/None.schema
new file mode 100644
index 0000000000000000000000000000000000000000..355f0ebec57d032df08c916caf2f4e9cece9631b
--- /dev/null
+++ b/schema/tree_manager/None.schema
@@ -0,0 +1 @@
+follow: TreeManagerBase.schema
\ No newline at end of file
diff --git a/src/problem/problem.cpp b/src/problem/problem.cpp
index 63b8a78f50f33d1f8e5a6046fe24e0731e45c960..d6f838d4fcf18bf385208c9bbf1c840667da6380 100644
--- a/src/problem/problem.cpp
+++ b/src/problem/problem.cpp
@@ -149,8 +149,12 @@ ProblemPtr Problem::autoSetup(const std::string& _input_yaml_file, const std::ve
     WOLF_INFO("Loading tree manager parameters");
     YAML::Node tree_manager_node = problem_node["tree_manager"];
     std::string tree_manager_type = tree_manager_node["type"].as<std::string>();
-    problem->setTreeManager(FactoryTreeManager::create(tree_manager_type, tree_manager_node));
-
+    if (tree_manager_type != "none" and 
+        tree_manager_type != "None" and 
+        tree_manager_type != "NONE")
+    {
+        problem->setTreeManager(FactoryTreeManager::create(tree_manager_type, tree_manager_node));
+    }
     // TODO: Prior -- first keyframe 
     // std::string prior_mode = _server.getParam<std::string>("problem/prior/mode");
     // assert((prior_mode == "nothing" || prior_mode == "initial_guess" || prior_mode == "fix" || prior_mode == "factor") && "wrong _mode value, it should be: 'nothing', 'initial_guess', 'fix' or 'factor'");
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index ad07f30443ed9cb9049bdd656d288a9ca1ff6eb7..c2c6857f74bf9f266b1fe143530c67ef0d1fb404 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -214,6 +214,9 @@ wolf_add_gtest(gtest_tree_manager gtest_tree_manager.cpp)
 # wolf_add_gtest(gtest_processor_tracker_landmark_dummy gtest_processor_tracker_landmark_dummy.cpp)
 # target_link_libraries(gtest_processor_tracker_landmark_dummy PUBLIC dummy)
 
+# Schema test
+wolf_add_gtest(gtest_schema gtest_schema.cpp)
+
 # # SensorDiffDriveSelfcalib class test
 # wolf_add_gtest(gtest_sensor_diff_drive gtest_sensor_diff_drive.cpp)
 
diff --git a/test/gtest_schema.cpp b/test/gtest_schema.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..7622f578d126980325b73f9cf8863e87aebe793f
--- /dev/null
+++ b/test/gtest_schema.cpp
@@ -0,0 +1,39 @@
+//--------LICENSE_START--------
+//
+// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Authors: Joan Solà Ortega (jsola@iri.upc.edu)
+// All rights reserved.
+//
+// This file is part of WOLF
+// WOLF is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+//
+//--------LICENSE_END--------
+#include "core/utils/utils_gtest.h"
+#include "core/internal/config.h"
+#include "yaml-schema-cpp/yaml_schema.hpp"
+
+using namespace yaml_schema_cpp;
+
+std::string wolf_root = _WOLF_ROOT_DIR;
+
+TEST(Schema, validate_all_schemas)
+{
+    ASSERT_TRUE(validateAllSchemas({wolf_root}));
+}
+
+int main(int argc, char **argv)
+{
+  testing::InitGoogleTest(&argc, argv);
+  return RUN_ALL_TESTS();
+}
diff --git a/test/yaml/params1.yaml b/test/yaml/params1.yaml
index 5e6431172cc2dc5acc9d5b1acfebe2f41ba0350e..142e0059b8d23480f796a2df21ed2945ad0d9235 100644
--- a/test/yaml/params1.yaml
+++ b/test/yaml/params1.yaml
@@ -1,41 +1,40 @@
-config:
-  problem:
-    frame_structure: "POV"
-    dimension: 3
-  sensors: 
-    -
-      type: "ODOM 2d"
-      name: "odom"
-      plugin: "core"
-      intrinsic:
-        k_disp_to_disp: 0.1
-        k_rot_to_rot: 0.1 
-      extrinsic:
-        pose: [1,2,3]
-    -
-      type: "RANGE BEARING"
-      name: "rb"
-      plugin: "core"
-  processors:
-    -
-      type: "ODOM 2d"
-      name: "processor1"
-      sensor_name: "odom"
-      plugin: "core"
-    -
-      type: "RANGE BEARING"
-      name: "rb_processor"
-      sensor_name: "rb"
-      plugin: "core"
-    -
-      type: "ODOM 2d"
-      name: "my_proc_test"
-      sensor_name: "odom"
-      plugin: "core"
-      follow: "params3.1.yaml"
-    -
-      type: "ODOM 3d"
-      name: "my_proc_odom3d"
-      sensor_name: "odom"
-      plugin: "core"
-      follow: "processor_odom_3d.yaml"
+problem:
+  frame_structure: "POV"
+  dimension: 3
+sensors: 
+  -
+    type: "ODOM 2d"
+    name: "odom"
+    plugin: "core"
+    intrinsic:
+      k_disp_to_disp: 0.1
+      k_rot_to_rot: 0.1 
+    extrinsic:
+      pose: [1,2,3]
+  -
+    type: "RANGE BEARING"
+    name: "rb"
+    plugin: "core"
+processors:
+  -
+    type: "ODOM 2d"
+    name: "processor1"
+    sensor_name: "odom"
+    plugin: "core"
+  -
+    type: "RANGE BEARING"
+    name: "rb_processor"
+    sensor_name: "rb"
+    plugin: "core"
+  -
+    type: "ODOM 2d"
+    name: "my_proc_test"
+    sensor_name: "odom"
+    plugin: "core"
+    follow: "params3.1.yaml"
+  -
+    type: "ODOM 3d"
+    name: "my_proc_odom3d"
+    sensor_name: "odom"
+    plugin: "core"
+    follow: "processor_odom_3d.yaml"
diff --git a/test/yaml/params2.yaml b/test/yaml/params2.yaml
index 1aadb76249e83db650ee7a3c2d55aa0b0bcce2af..38cfe68d2c4a46e2877a7d7b150c4e359f86183e 100644
--- a/test/yaml/params2.yaml
+++ b/test/yaml/params2.yaml
@@ -1,38 +1,37 @@
-config:
-  problem:
-    frame_structure: "POV"
-    dimension: 2
-  sensors: 
-    -
-      type: "ODOM 2d"
-      name: "odom"
-      plugin: "core"
-      intrinsic:
-        k_disp_to_disp: 0.1
-        k_rot_to_rot: 0.1 
-      extrinsic:
-        pose: [1,2,3]
-    -
-      type: "RANGE BEARING"
-      name: "rb"
-      plugin: "core"
-  processors:
-    -
-      type: "ODOM 2d"
-      name: "processor1"
-      sensor_name: "odom"
-      plugin: "core"
-      $mymap:
-        k1: v1
-        k2: v2
-        k3: [v3,v4,v5]
-    -
-      type: "RANGE BEARING"
-      name: "rb_processor"
-      sensor_name: "rb"
-      plugin: "core"
-    -
-      type: "ODOM 2d"
-      name: "my_proc_test"
-      sensor_name: "odom"
-      plugin: "core"
+problem:
+  frame_structure: "POV"
+  dimension: 2
+sensors: 
+  -
+    type: "ODOM 2d"
+    name: "odom"
+    plugin: "core"
+    intrinsic:
+      k_disp_to_disp: 0.1
+      k_rot_to_rot: 0.1 
+    extrinsic:
+      pose: [1,2,3]
+  -
+    type: "RANGE BEARING"
+    name: "rb"
+    plugin: "core"
+processors:
+  -
+    type: "ODOM 2d"
+    name: "processor1"
+    sensor_name: "odom"
+    plugin: "core"
+    $mymap:
+      k1: v1
+      k2: v2
+      k3: [v3,v4,v5]
+  -
+    type: "RANGE BEARING"
+    name: "rb_processor"
+    sensor_name: "rb"
+    plugin: "core"
+  -
+    type: "ODOM 2d"
+    name: "my_proc_test"
+    sensor_name: "odom"
+    plugin: "core"
diff --git a/test/yaml/params3.yaml b/test/yaml/params3.yaml
index 14c6271cd071c4d6d2f525e3c1fc8d0341d052d0..168d0d47aae32ac6952827abd63e7a0b6ed7827f 100644
--- a/test/yaml/params3.yaml
+++ b/test/yaml/params3.yaml
@@ -1,22 +1,21 @@
-config:
-  problem:
-    frame_structure: "POV"
-    dimension: 2
-  sensors:
-    -
-      type: "ODOM 2d"
-      name: "odom"
-      plugin: "core"
-      intrinsic:
-        k_disp_to_disp: 0.1
-        k_rot_to_rot: 0.1
-      extrinsic:
-        pose: [1,2,3]
-  processors:
-    -
-      type: "ODOM 2d"
-      name: "my_proc_test"
-      plugin: "core"
-      sensor_name: "odom"
-      extern_params: 
-        follow: "params3.1.yaml"
\ No newline at end of file
+problem:
+  frame_structure: "POV"
+  dimension: 2
+sensors:
+  -
+    type: "ODOM 2d"
+    name: "odom"
+    plugin: "core"
+    intrinsic:
+      k_disp_to_disp: 0.1
+      k_rot_to_rot: 0.1
+    extrinsic:
+      pose: [1,2,3]
+processors:
+  -
+    type: "ODOM 2d"
+    name: "my_proc_test"
+    plugin: "core"
+    sensor_name: "odom"
+    extern_params: 
+      follow: "params3.1.yaml"
\ No newline at end of file
diff --git a/test/yaml/params_basic.yaml b/test/yaml/params_basic.yaml
index 730381520149ef3d51a8428e4cf08778d869a4ea..2033bb4d09b6617722c3c427d8e2294892c399d9 100644
--- a/test/yaml/params_basic.yaml
+++ b/test/yaml/params_basic.yaml
@@ -1,35 +1,34 @@
-config:
-  problem:
-    dim: 2
-    
-  int_1: -3
-  int_2: 0
-  int_3: "6"
-  uint_1: 2
-  uint_2: 0
-  uint_3: "6"
-  double_1: 3.6
-  double_2: -3
-  double_3: "3.6"
-  string_1: wolf
-  string_2: "Wolf"
-  bool_1: true
-  bool_2: True
-  bool_3: TRUE
-  bool_4: "true"
-  bool_5: false
-  bool_6: False
-  bool_7: FALSE
-  bool_8: "false"
-  
-  int_wrong_1: 2.3
-  int_wrong_2: "wolf"
-  int_wrong_3: true
-  uint_wrong_1: -2
-  uint_wrong_2: 3.5
-  uint_wrong_3: "wolf"
-  uint_wrong_4: true
-  double_wrong_1: "wolf"
-  double_wrong_2: true
-  bool_wrong: 1
+problem:
+  dim: 2
   
+int_1: -3
+int_2: 0
+int_3: "6"
+uint_1: 2
+uint_2: 0
+uint_3: "6"
+double_1: 3.6
+double_2: -3
+double_3: "3.6"
+string_1: wolf
+string_2: "Wolf"
+bool_1: true
+bool_2: True
+bool_3: TRUE
+bool_4: "true"
+bool_5: false
+bool_6: False
+bool_7: FALSE
+bool_8: "false"
+
+int_wrong_1: 2.3
+int_wrong_2: "wolf"
+int_wrong_3: true
+uint_wrong_1: -2
+uint_wrong_2: 3.5
+uint_wrong_3: "wolf"
+uint_wrong_4: true
+double_wrong_1: "wolf"
+double_wrong_2: true
+bool_wrong: 1
+
diff --git a/test/yaml/params_problem_autosetup.yaml b/test/yaml/params_problem_autosetup.yaml
index fdd5b2f39cb7d04fcf2a66b12e42e3dc546de6b2..4f8f593f23cbc301d8a49e96bcacb44f2221530e 100644
--- a/test/yaml/params_problem_autosetup.yaml
+++ b/test/yaml/params_problem_autosetup.yaml
@@ -1,56 +1,55 @@
-config:
-  problem:
-    frame_structure: "PO"
-    dimension: 3
-    prior:
-      mode: "factor"
-      $state:
-        P: [0,0,0]
-        O: [0,0,0,1]
-      $sigma:
-        P: [0.31, 0.31, 0.31]
-        O: [0.31, 0.31, 0.31]
-      time_tolerance: 0.1
-    tree_manager: 
-      type: "None"
-  map:
-    type: "MapBase"
+problem:
+  frame_structure: "PO"
+  dimension: 3
+  prior:
+    mode: "factor"
+    $state:
+      P: [0,0,0]
+      O: [0,0,0,1]
+    $sigma:
+      P: [0.31, 0.31, 0.31]
+      O: [0.31, 0.31, 0.31]
+    time_tolerance: 0.1
+  tree_manager: 
+    type: "None"
+map:
+  type: "MapBase"
+  plugin: "core"
+sensors: 
+  -
+    type: "SensorOdom3d"
+    name: "odom"
     plugin: "core"
-  sensors: 
-    -
-      type: "SensorOdom3d"
-      name: "odom"
-      plugin: "core"
-      k_disp_to_disp: 0.1
-      k_disp_to_rot: 0.1
-      k_rot_to_rot: 0.1 
-      min_disp_var: 0.1 
-      min_rot_var: 0.1
-      states:
-        P:
-          state: [1,2,3]
-          mode: fix
-          dynamic: false
-        O:
-          state: [0,0,0,1]
-          mode: "fix"
-          dynamic: false
-  processors:
-    -
-      type: "ProcessorOdom3d"
-      name: "my_proc_odom3d"
-      sensor_name: "odom"
-      plugin: "core"
-      apply_loss_function: false
-      time_tolerance:         0.01  # seconds
-      keyframe_vote:
-        voting_active:        true
-        max_time_span:          1.95  # seconds
-        max_buff_length:        999   # motion deltas
-        dist_traveled:          999   # meters
-        angle_turned:           999   # radians (1 rad approx 57 deg, approx 60 deg)
-      
-      unmeasured_perturbation_std: 0.001
-      
-      state_getter: true
-      state_priority: 1
+    k_disp_to_disp: 0.1
+    k_disp_to_rot: 0.1
+    k_rot_to_rot: 0.1 
+    min_disp_var: 0.1 
+    min_rot_var: 0.1
+    states:
+      P:
+        state: [1,2,3]
+        mode: fix
+        dynamic: false
+      O:
+        state: [0,0,0,1]
+        mode: "fix"
+        dynamic: false
+processors:
+  -
+    type: "ProcessorOdom3d"
+    name: "my_proc_odom3d"
+    sensor_name: "odom"
+    plugin: "core"
+    apply_loss_function: false
+    time_tolerance:         0.01  # seconds
+    keyframe_vote:
+      voting_active:        true
+      max_time_span:          1.95  # seconds
+      max_buff_length:        999   # motion deltas
+      dist_traveled:          999   # meters
+      angle_turned:           999   # radians (1 rad approx 57 deg, approx 60 deg)
+    
+    unmeasured_perturbation_std: 0.001
+    
+    state_getter: true
+    state_priority: 1
diff --git a/test/yaml/params_problem_autosetup_no_map.yaml b/test/yaml/params_problem_autosetup_no_map.yaml
index 840d40624092f3cce3a779ed69a3aeeeb585dfbc..e7aa7c81b9c030259fead40bb72943b369e9964d 100644
--- a/test/yaml/params_problem_autosetup_no_map.yaml
+++ b/test/yaml/params_problem_autosetup_no_map.yaml
@@ -1,53 +1,52 @@
-config:
-  problem:
-    frame_structure: "PO"
-    dimension: 3
-    prior:
-      mode: "factor"
-      $state:
-        P: [0,0,0]
-        O: [0,0,0,1]
-      $sigma:
-        P: [0.31, 0.31, 0.31]
-        O: [0.31, 0.31, 0.31]
-      time_tolerance: 0.1
-    tree_manager: 
-      type: "None"
-  sensors:  
-    -
-      type: "SensorOdom3d"
-      name: "odom"
-      plugin: "core"
-      k_disp_to_disp: 0.1
-      k_disp_to_rot: 0.1
-      k_rot_to_rot: 0.1 
-      min_disp_var: 0.1 
-      min_rot_var: 0.1
-      states:
-        P:
-          state: [1,2,3]
-          mode: fix
-          dynamic: false
-        O:
-          state: [0,0,0,1]
-          mode: "fix"
-          dynamic: false
-  processors:
-    -
-      type: "ProcessorOdom3d"
-      name: "my_proc_odom3d"
-      sensor_name: "odom"
-      plugin: "core"
-      apply_loss_function: false
-      time_tolerance:         0.01  # seconds
-      keyframe_vote:
-        voting_active:        true
-        max_time_span:          1.95  # seconds
-        max_buff_length:        999   # motion deltas
-        dist_traveled:          999   # meters
-        angle_turned:           999   # radians (1 rad approx 57 deg, approx 60 deg)
-      
-      unmeasured_perturbation_std: 0.00111
-      
-      state_getter: true
-      state_priority: 1
+problem:
+  frame_structure: "PO"
+  dimension: 3
+  prior:
+    mode: "factor"
+    $state:
+      P: [0,0,0]
+      O: [0,0,0,1]
+    $sigma:
+      P: [0.31, 0.31, 0.31]
+      O: [0.31, 0.31, 0.31]
+    time_tolerance: 0.1
+  tree_manager: 
+    type: "None"
+sensors:  
+  -
+    type: "SensorOdom3d"
+    name: "odom"
+    plugin: "core"
+    k_disp_to_disp: 0.1
+    k_disp_to_rot: 0.1
+    k_rot_to_rot: 0.1 
+    min_disp_var: 0.1 
+    min_rot_var: 0.1
+    states:
+      P:
+        state: [1,2,3]
+        mode: fix
+        dynamic: false
+      O:
+        state: [0,0,0,1]
+        mode: "fix"
+        dynamic: false
+processors:
+  -
+    type: "ProcessorOdom3d"
+    name: "my_proc_odom3d"
+    sensor_name: "odom"
+    plugin: "core"
+    apply_loss_function: false
+    time_tolerance:         0.01  # seconds
+    keyframe_vote:
+      voting_active:        true
+      max_time_span:          1.95  # seconds
+      max_buff_length:        999   # motion deltas
+      dist_traveled:          999   # meters
+      angle_turned:           999   # radians (1 rad approx 57 deg, approx 60 deg)
+    
+    unmeasured_perturbation_std: 0.00111
+    
+    state_getter: true
+    state_priority: 1
diff --git a/test/yaml/params_problem_odom_3d.yaml b/test/yaml/params_problem_odom_3d.yaml
index 6c5ed47c2efc2afc3ba960b075e60cea73b58a73..b5e8c455bc8eafe7bc51020878240aadb42aaec5 100644
--- a/test/yaml/params_problem_odom_3d.yaml
+++ b/test/yaml/params_problem_odom_3d.yaml
@@ -1,46 +1,45 @@
-config:
-  problem:
-    frame_structure: "PO"
-    dimension: 3
-    prior:
-      mode: "factor"
-      $state:
-        P: [0,0,0]
-        O: [0,0,0,1]
-      $sigma:
-        P: [0.31, 0.31, 0.31]
-        O: [0.31, 0.31, 0.31]
-      time_tolerance: 0.1
-    tree_manager: 
-      type: "None"
-  sensors: 
-    -
-      type: "SensorOdom3d"
-      name: "odom"
-      plugin: "core"
-      k_disp_to_disp: 0.1
-      k_disp_to_rot: 0.1
-      k_rot_to_rot: 0.1 
-      min_disp_var: 0.1 
-      min_rot_var: 0.1
-      extrinsic:
-        pose: [1,2,3,0,0,0,1]
-  processors:
-    -
-      type: "ProcessorOdom3d"
-      name: "my_proc_odom3d"
-      sensor_name: "odom"
-      plugin: "core"
-      apply_loss_function: false
-      time_tolerance:         0.01  # seconds
-      keyframe_vote:
-        voting_active:        true
-        max_time_span:          1.95  # seconds
-        max_buff_length:        999   # motion deltas
-        dist_traveled:          999   # meters
-        angle_turned:           999   # radians (1 rad approx 57 deg, approx 60 deg)
-      
-      unmeasured_perturbation_std: 0.00111
-      
-      state_getter: true
-      state_priority: 1
+problem:
+  frame_structure: "PO"
+  dimension: 3
+  prior:
+    mode: "factor"
+    $state:
+      P: [0,0,0]
+      O: [0,0,0,1]
+    $sigma:
+      P: [0.31, 0.31, 0.31]
+      O: [0.31, 0.31, 0.31]
+    time_tolerance: 0.1
+  tree_manager: 
+    type: "None"
+sensors: 
+  -
+    type: "SensorOdom3d"
+    name: "odom"
+    plugin: "core"
+    k_disp_to_disp: 0.1
+    k_disp_to_rot: 0.1
+    k_rot_to_rot: 0.1 
+    min_disp_var: 0.1 
+    min_rot_var: 0.1
+    extrinsic:
+      pose: [1,2,3,0,0,0,1]
+processors:
+  -
+    type: "ProcessorOdom3d"
+    name: "my_proc_odom3d"
+    sensor_name: "odom"
+    plugin: "core"
+    apply_loss_function: false
+    time_tolerance:         0.01  # seconds
+    keyframe_vote:
+      voting_active:        true
+      max_time_span:          1.95  # seconds
+      max_buff_length:        999   # motion deltas
+      dist_traveled:          999   # meters
+      angle_turned:           999   # radians (1 rad approx 57 deg, approx 60 deg)
+    
+    unmeasured_perturbation_std: 0.00111
+    
+    state_getter: true
+    state_priority: 1
diff --git a/test/yaml/params_tree_manager1.yaml b/test/yaml/params_tree_manager1.yaml
index 2cc4c231e5a282fb1742c18cc629b739985ff647..a51cf0355f324260a077161b44c583767b8f246e 100644
--- a/test/yaml/params_tree_manager1.yaml
+++ b/test/yaml/params_tree_manager1.yaml
@@ -1,58 +1,57 @@
-config:
-  problem:
-    frame_structure: "POV"
-    dimension: 3
-    prior:
-      mode: "factor"
-      # state: [0,0,0,0,0,0,1,0,0,0]
-      # cov: [[9,9],.1,0,0,0,0,0,0,0,0, 0,.1,0,0,0,0,0,0,0, 0,0,.1,0,0,0,0,0,0, 0,0,0,.1,0,0,0,0,0, 0,0,0,0,.1,0,0,0,0, 0,0,0,0,0,.1,0,0,0, 0,0,0,0,0,0,.1,0,0, 0,0,0,0,0,0,0,.1,0, 0,0,0,0,0,0,0,0,.1]
-      $state:
-        P: [0,0,0]
-        O: [0,0,0,1]
-        V: [0,0,0]
-      $sigma:
-        P: [0.31, 0.31, 0.31]
-        O: [0.31, 0.31, 0.31]
-        V: [0.31, 0.31, 0.31]
-      time_tolerance: 0.1
-    tree_manager:
-      follow: "tree_manager_dummy.yaml"
-  sensors: 
-    -
-      type: "SensorOdom"
-      name: "odom"
-      plugin: "core"
-      states:
-        P:
-          mode: fix
-          state: [1, 2, 3]
-          dynamic: false
-        O:
-          mode: fix
-          state: [0, 0, 0, 1]
-          dynamic: false
-      k_disp_to_disp: 0.1
-      k_disp_to_rot: 0.1
-      k_rot_to_rot: 0.1 
-      min_disp_var: 0.1 
-      min_rot_var: 0.1
-  processors:
-    -
-      type: "ProcessorOdom3d"
-      name: "my_proc_odom3d"
-      sensor_name: "odom"
-      plugin: "core"
-      apply_loss_function: false
-      time_tolerance:         0.01  # seconds
-      keyframe_vote:
-        voting_active:        false
-        max_time_span:          0.2   # seconds
-        max_buff_length:        10    # motion deltas
-        dist_traveled:          0.5   # meters
-        angle_turned:           0.1   # radians (1 rad approx 57 deg, approx 60 deg)
-      
-      unmeasured_perturbation_std: 0.00111
-      
-      state_getter: true
-      state_priority: 1
-      
+problem:
+  frame_structure: "POV"
+  dimension: 3
+  prior:
+    mode: "factor"
+    # state: [0,0,0,0,0,0,1,0,0,0]
+    # cov: [[9,9],.1,0,0,0,0,0,0,0,0, 0,.1,0,0,0,0,0,0,0, 0,0,.1,0,0,0,0,0,0, 0,0,0,.1,0,0,0,0,0, 0,0,0,0,.1,0,0,0,0, 0,0,0,0,0,.1,0,0,0, 0,0,0,0,0,0,.1,0,0, 0,0,0,0,0,0,0,.1,0, 0,0,0,0,0,0,0,0,.1]
+    $state:
+      P: [0,0,0]
+      O: [0,0,0,1]
+      V: [0,0,0]
+    $sigma:
+      P: [0.31, 0.31, 0.31]
+      O: [0.31, 0.31, 0.31]
+      V: [0.31, 0.31, 0.31]
+    time_tolerance: 0.1
+  tree_manager:
+    follow: "tree_manager_dummy.yaml"
+sensors: 
+  -
+    type: "SensorOdom"
+    name: "odom"
+    plugin: "core"
+    states:
+      P:
+        mode: fix
+        state: [1, 2, 3]
+        dynamic: false
+      O:
+        mode: fix
+        state: [0, 0, 0, 1]
+        dynamic: false
+    k_disp_to_disp: 0.1
+    k_disp_to_rot: 0.1
+    k_rot_to_rot: 0.1 
+    min_disp_var: 0.1 
+    min_rot_var: 0.1
+processors:
+  -
+    type: "ProcessorOdom3d"
+    name: "my_proc_odom3d"
+    sensor_name: "odom"
+    plugin: "core"
+    apply_loss_function: false
+    time_tolerance:         0.01  # seconds
+    keyframe_vote:
+      voting_active:        false
+      max_time_span:          0.2   # seconds
+      max_buff_length:        10    # motion deltas
+      dist_traveled:          0.5   # meters
+      angle_turned:           0.1   # radians (1 rad approx 57 deg, approx 60 deg)
+    
+    unmeasured_perturbation_std: 0.00111
+    
+    state_getter: true
+    state_priority: 1
+    
diff --git a/test/yaml/params_tree_manager2.yaml b/test/yaml/params_tree_manager2.yaml
index 555052c63d6b1aec789f1e1674ed2506e903dd0f..b38cefd896c77a257001ef9d6746d7ce6eaa7367 100644
--- a/test/yaml/params_tree_manager2.yaml
+++ b/test/yaml/params_tree_manager2.yaml
@@ -1,58 +1,57 @@
-config:
-  problem:
-    frame_structure: "POV"
-    dimension: 3
-    prior:
-      mode: "factor"
-      # state: [0,0,0,0,0,0,1,0,0,0]
-      # cov: [[9,9],.1,0,0,0,0,0,0,0,0, 0,.1,0,0,0,0,0,0,0, 0,0,.1,0,0,0,0,0,0, 0,0,0,.1,0,0,0,0,0, 0,0,0,0,.1,0,0,0,0, 0,0,0,0,0,.1,0,0,0, 0,0,0,0,0,0,.1,0,0, 0,0,0,0,0,0,0,.1,0, 0,0,0,0,0,0,0,0,.1]
-      $state:
-        P: [0,0,0]
-        O: [0,0,0,1]
-        V: [0,0,0]
-      $sigma:
-        P: [0.31, 0.31, 0.31]
-        O: [0.31, 0.31, 0.31]
-        V: [0.31, 0.31, 0.31]
-      time_tolerance: 0.1
-    tree_manager:
-      type: "None"
-  sensors: 
-    -
-      type: "SensorOdom"
-      name: "odom"
-      plugin: "core"
-      states:
-        P:
-          mode: fix
-          state: [1, 2, 3]
-          dynamic: false
-        O:
-          mode: fix
-          state: [0, 0, 0, 1]
-          dynamic: false
-      k_disp_to_disp: 0.1
-      k_disp_to_rot: 0.1
-      k_rot_to_rot: 0.1 
-      min_disp_var: 0.1 
-      min_rot_var: 0.1
-  processors:
-    -
-      type: "ProcessorOdom3d"
-      name: "my_proc_odom3d"
-      sensor_name: "odom"
-      plugin: "core"
-      apply_loss_function: false
-      time_tolerance:         0.01  # seconds
-      keyframe_vote:
-        voting_active:        false
-        max_time_span:          0.2   # seconds
-        max_buff_length:        10    # motion deltas
-        dist_traveled:          0.5   # meters
-        angle_turned:           0.1   # radians (1 rad approx 57 deg, approx 60 deg)
-      
-      unmeasured_perturbation_std: 0.00111
-      
-      state_getter: true
-      state_priority: 1
-      
+problem:
+  frame_structure: "POV"
+  dimension: 3
+  prior:
+    mode: "factor"
+    # state: [0,0,0,0,0,0,1,0,0,0]
+    # cov: [[9,9],.1,0,0,0,0,0,0,0,0, 0,.1,0,0,0,0,0,0,0, 0,0,.1,0,0,0,0,0,0, 0,0,0,.1,0,0,0,0,0, 0,0,0,0,.1,0,0,0,0, 0,0,0,0,0,.1,0,0,0, 0,0,0,0,0,0,.1,0,0, 0,0,0,0,0,0,0,.1,0, 0,0,0,0,0,0,0,0,.1]
+    $state:
+      P: [0,0,0]
+      O: [0,0,0,1]
+      V: [0,0,0]
+    $sigma:
+      P: [0.31, 0.31, 0.31]
+      O: [0.31, 0.31, 0.31]
+      V: [0.31, 0.31, 0.31]
+    time_tolerance: 0.1
+  tree_manager:
+    type: "None"
+sensors: 
+  -
+    type: "SensorOdom"
+    name: "odom"
+    plugin: "core"
+    states:
+      P:
+        mode: fix
+        state: [1, 2, 3]
+        dynamic: false
+      O:
+        mode: fix
+        state: [0, 0, 0, 1]
+        dynamic: false
+    k_disp_to_disp: 0.1
+    k_disp_to_rot: 0.1
+    k_rot_to_rot: 0.1 
+    min_disp_var: 0.1 
+    min_rot_var: 0.1
+processors:
+  -
+    type: "ProcessorOdom3d"
+    name: "my_proc_odom3d"
+    sensor_name: "odom"
+    plugin: "core"
+    apply_loss_function: false
+    time_tolerance:         0.01  # seconds
+    keyframe_vote:
+      voting_active:        false
+      max_time_span:          0.2   # seconds
+      max_buff_length:        10    # motion deltas
+      dist_traveled:          0.5   # meters
+      angle_turned:           0.1   # radians (1 rad approx 57 deg, approx 60 deg)
+    
+    unmeasured_perturbation_std: 0.00111
+    
+    state_getter: true
+    state_priority: 1
+    
diff --git a/test/yaml/params_tree_manager_sliding_window1.yaml b/test/yaml/params_tree_manager_sliding_window1.yaml
index 5a6f7cac245fe5cad8d09f733960a787fb7bb6d7..a317726ac748b5353a320517b2c20ac8f7e10597 100644
--- a/test/yaml/params_tree_manager_sliding_window1.yaml
+++ b/test/yaml/params_tree_manager_sliding_window1.yaml
@@ -1,54 +1,53 @@
-config:
-  problem:
-    frame_structure: "PO"
-    dimension: 3
-    prior:
-      mode: "factor"
-      $state:
-        P: [0,0,0]
-        O: [0,0,0,1]
-      $sigma:
-        P: [0.31, 0.31, 0.31]
-        O: [0.31, 0.31, 0.31]
-      time_tolerance: 0.1
-    tree_manager:
-      follow: "tree_manager_sliding_window1.yaml"
-  sensors: 
-    -
-      type: "SensorOdom"
-      name: "odom"
-      plugin: "core"
-      states:
-        P:
-          mode: fix
-          state: [1, 2, 3]
-          dynamic: false
-        O:
-          mode: fix
-          state: [0, 0, 0, 1]
-          dynamic: false
-      k_disp_to_disp: 0.1
-      k_disp_to_rot: 0.1
-      k_rot_to_rot: 0.1 
-      min_disp_var: 0.1 
-      min_rot_var: 0.1
-  processors:
-    -
-      type: "ProcessorOdom3d"
-      name: "my_proc_odom3d"
-      sensor_name: "odom"
-      plugin: "core"
-      apply_loss_function: false
-      time_tolerance:         0.01  # seconds
-      keyframe_vote:
-        voting_active:        false
-        max_time_span:          0.2   # seconds
-        max_buff_length:        10    # motion deltas
-        dist_traveled:          0.5   # meters
-        angle_turned:           0.1   # radians (1 rad approx 57 deg, approx 60 deg)
-      
-      unmeasured_perturbation_std: 0.00111
-      
-      state_getter: true
-      state_priority: 1
-      
+problem:
+  frame_structure: "PO"
+  dimension: 3
+  prior:
+    mode: "factor"
+    $state:
+      P: [0,0,0]
+      O: [0,0,0,1]
+    $sigma:
+      P: [0.31, 0.31, 0.31]
+      O: [0.31, 0.31, 0.31]
+    time_tolerance: 0.1
+  tree_manager:
+    follow: "tree_manager_sliding_window1.yaml"
+sensors: 
+  -
+    type: "SensorOdom"
+    name: "odom"
+    plugin: "core"
+    states:
+      P:
+        mode: fix
+        state: [1, 2, 3]
+        dynamic: false
+      O:
+        mode: fix
+        state: [0, 0, 0, 1]
+        dynamic: false
+    k_disp_to_disp: 0.1
+    k_disp_to_rot: 0.1
+    k_rot_to_rot: 0.1 
+    min_disp_var: 0.1 
+    min_rot_var: 0.1
+processors:
+  -
+    type: "ProcessorOdom3d"
+    name: "my_proc_odom3d"
+    sensor_name: "odom"
+    plugin: "core"
+    apply_loss_function: false
+    time_tolerance:         0.01  # seconds
+    keyframe_vote:
+      voting_active:        false
+      max_time_span:          0.2   # seconds
+      max_buff_length:        10    # motion deltas
+      dist_traveled:          0.5   # meters
+      angle_turned:           0.1   # radians (1 rad approx 57 deg, approx 60 deg)
+    
+    unmeasured_perturbation_std: 0.00111
+    
+    state_getter: true
+    state_priority: 1
+    
diff --git a/test/yaml/params_tree_manager_sliding_window2.yaml b/test/yaml/params_tree_manager_sliding_window2.yaml
index 768cedbe454a8df03ff6e67d9ca7231ec2c8e51e..935f0899fe5330a382c8581954fb2166c546de72 100644
--- a/test/yaml/params_tree_manager_sliding_window2.yaml
+++ b/test/yaml/params_tree_manager_sliding_window2.yaml
@@ -1,54 +1,53 @@
-config:
-  problem:
-    frame_structure: "PO"
-    dimension: 3
-    prior:
-      mode: "factor"
-      $state:
-        P: [0,0,0]
-        O: [0,0,0,1]
-      $sigma:
-        P: [0.31, 0.31, 0.31]
-        O: [0.31, 0.31, 0.31]
-      time_tolerance: 0.1
-    tree_manager:
-      follow: "tree_manager_sliding_window2.yaml"
-  sensors: 
-    -
-      type: "SensorOdom"
-      name: "odom"
-      plugin: "core"
-      states:
-        P:
-          mode: fix
-          state: [1, 2, 3]
-          dynamic: false
-        O:
-          mode: fix
-          state: [0, 0, 0, 1]
-          dynamic: false
-      k_disp_to_disp: 0.1
-      k_disp_to_rot: 0.1
-      k_rot_to_rot: 0.1 
-      min_disp_var: 0.1 
-      min_rot_var: 0.1
-  processors:
-    -
-      type: "ProcessorOdom3d"
-      name: "my_proc_odom3d"
-      sensor_name: "odom"
-      plugin: "core"
-      apply_loss_function: false
-      time_tolerance:         0.01  # seconds
-      keyframe_vote:
-        voting_active:        false
-        max_time_span:          0.2   # seconds
-        max_buff_length:        10    # motion deltas
-        dist_traveled:          0.5   # meters
-        angle_turned:           0.1   # radians (1 rad approx 57 deg, approx 60 deg)
-      
-      unmeasured_perturbation_std: 0.00111
-      
-      state_getter: true
-      state_priority: 1
-      
+problem:
+  frame_structure: "PO"
+  dimension: 3
+  prior:
+    mode: "factor"
+    $state:
+      P: [0,0,0]
+      O: [0,0,0,1]
+    $sigma:
+      P: [0.31, 0.31, 0.31]
+      O: [0.31, 0.31, 0.31]
+    time_tolerance: 0.1
+  tree_manager:
+    follow: "tree_manager_sliding_window2.yaml"
+sensors: 
+  -
+    type: "SensorOdom"
+    name: "odom"
+    plugin: "core"
+    states:
+      P:
+        mode: fix
+        state: [1, 2, 3]
+        dynamic: false
+      O:
+        mode: fix
+        state: [0, 0, 0, 1]
+        dynamic: false
+    k_disp_to_disp: 0.1
+    k_disp_to_rot: 0.1
+    k_rot_to_rot: 0.1 
+    min_disp_var: 0.1 
+    min_rot_var: 0.1
+processors:
+  -
+    type: "ProcessorOdom3d"
+    name: "my_proc_odom3d"
+    sensor_name: "odom"
+    plugin: "core"
+    apply_loss_function: false
+    time_tolerance:         0.01  # seconds
+    keyframe_vote:
+      voting_active:        false
+      max_time_span:          0.2   # seconds
+      max_buff_length:        10    # motion deltas
+      dist_traveled:          0.5   # meters
+      angle_turned:           0.1   # radians (1 rad approx 57 deg, approx 60 deg)
+    
+    unmeasured_perturbation_std: 0.00111
+    
+    state_getter: true
+    state_priority: 1
+    
diff --git a/test/yaml/params_tree_manager_sliding_window_dual_rate1.yaml b/test/yaml/params_tree_manager_sliding_window_dual_rate1.yaml
index 12d338a330ee4eb3112cbd46a9347b0bb41af258..6a7b21625aac524b72da9fcb35d01573dfd655aa 100644
--- a/test/yaml/params_tree_manager_sliding_window_dual_rate1.yaml
+++ b/test/yaml/params_tree_manager_sliding_window_dual_rate1.yaml
@@ -1,15 +1,14 @@
-config:
-  problem:
-    frame_structure: "PO"
-    dimension: 3
-    prior:
-      mode: "factor"
-      $state:
-        P: [0,0,0]
-        O: [0,0,0,1]
-      $sigma:
-        P: [0.31, 0.31, 0.31]
-        O: [0.31, 0.31, 0.31]
-      time_tolerance: 0.1
-    tree_manager: 
-      follow: "tree_manager_sliding_window_dual_rate1.yaml"
\ No newline at end of file
+problem:
+  frame_structure: "PO"
+  dimension: 3
+  prior:
+    mode: "factor"
+    $state:
+      P: [0,0,0]
+      O: [0,0,0,1]
+    $sigma:
+      P: [0.31, 0.31, 0.31]
+      O: [0.31, 0.31, 0.31]
+    time_tolerance: 0.1
+  tree_manager: 
+    follow: "tree_manager_sliding_window_dual_rate1.yaml"
\ No newline at end of file
diff --git a/test/yaml/params_tree_manager_sliding_window_dual_rate2.yaml b/test/yaml/params_tree_manager_sliding_window_dual_rate2.yaml
index 609fb96f585545376756279956377ee6730dbc0d..12f59ad4a91a0adb50f433ace29e4d910a3354e0 100644
--- a/test/yaml/params_tree_manager_sliding_window_dual_rate2.yaml
+++ b/test/yaml/params_tree_manager_sliding_window_dual_rate2.yaml
@@ -1,21 +1,20 @@
-config:
-  problem:
-    frame_structure: "PO"
-    dimension: 3
-    prior:
-      mode: "factor"
-      $state:
-        P: [0,0,0]
-        O: [0,0,0,1]
-      $sigma:
-        P: [0.31, 0.31, 0.31]
-        O: [0.31, 0.31, 0.31]
-      time_tolerance: 0.1
-    tree_manager:
-      type: "TreeManagerSlidingWindowDualRate"
-      plugin: "core"
-      n_frames: 5
-      n_frames_recent: 3
-      rate_old_frames: 2
-      n_fix_first_frames: 0
-      viral_remove_empty_parent: false
+problem:
+  frame_structure: "PO"
+  dimension: 3
+  prior:
+    mode: "factor"
+    $state:
+      P: [0,0,0]
+      O: [0,0,0,1]
+    $sigma:
+      P: [0.31, 0.31, 0.31]
+      O: [0.31, 0.31, 0.31]
+    time_tolerance: 0.1
+  tree_manager:
+    type: "TreeManagerSlidingWindowDualRate"
+    plugin: "core"
+    n_frames: 5
+    n_frames_recent: 3
+    rate_old_frames: 2
+    n_fix_first_frames: 0
+    viral_remove_empty_parent: false
diff --git a/test/yaml/params_tree_manager_sliding_window_dual_rate3.yaml b/test/yaml/params_tree_manager_sliding_window_dual_rate3.yaml
index 35cd9bc7da15a010b912df30d195c7be0f563ec2..d7c53fb130fadc88f4de1c5a971b23d2f51fdce9 100644
--- a/test/yaml/params_tree_manager_sliding_window_dual_rate3.yaml
+++ b/test/yaml/params_tree_manager_sliding_window_dual_rate3.yaml
@@ -1,62 +1,61 @@
-config:
-  solver: 
-    follow: "solver.yaml"
-  problem:
-    frame_structure: "PO"
-    dimension: 3
-    prior:
-      mode: "factor"
-      $state:
-        P: [0,0,0]
-        O: [0,0,0,1]
-      $sigma:
-        P: [0.31, 0.31, 0.31]
-        O: [0.31, 0.31, 0.31]
-      time_tolerance: 0.1
-    tree_manager:
-      type: "TreeManagerSlidingWindowDualRate"
-      plugin: "core"
-      n_frames: 5
-      n_frames_recent: 3
-      rate_old_frames: 2
-      n_fix_first_frames: 2
-      viral_remove_empty_parent: true
-  sensors: 
-    -
-      type: "SensorOdom"
-      name: "odom"
-      plugin: "core"
-      states:
-        P:
-          mode: fix
-          state: [1, 2, 3]
-          dynamic: false
-        O:
-          mode: fix
-          state: [0, 0, 0, 1]
-          dynamic: false
-      k_disp_to_disp: 0.1
-      k_disp_to_rot: 0.1
-      k_rot_to_rot: 0.1 
-      min_disp_var: 0.1 
-      min_rot_var: 0.1
-  processors:
-    -
-      type: "ProcessorOdom3d"
-      name: "my_proc_odom3d"
-      sensor_name: "odom"
-      plugin: "core"
-      apply_loss_function: false
-      time_tolerance:         0.01  # seconds
-      keyframe_vote:
-        voting_active:        true
-        max_time_span:          0.2   # seconds
-        max_buff_length:        10    # motion deltas
-        dist_traveled:          10   # meters
-        angle_turned:           3.1   # radians (1 rad approx 57 deg, approx 60 deg)
-      
-      unmeasured_perturbation_std: 0.00111
-      
-      state_getter: true
-      state_priority: 1
-      
+solver: 
+  follow: "solver.yaml"
+problem:
+  frame_structure: "PO"
+  dimension: 3
+  prior:
+    mode: "factor"
+    $state:
+      P: [0,0,0]
+      O: [0,0,0,1]
+    $sigma:
+      P: [0.31, 0.31, 0.31]
+      O: [0.31, 0.31, 0.31]
+    time_tolerance: 0.1
+  tree_manager:
+    type: "TreeManagerSlidingWindowDualRate"
+    plugin: "core"
+    n_frames: 5
+    n_frames_recent: 3
+    rate_old_frames: 2
+    n_fix_first_frames: 2
+    viral_remove_empty_parent: true
+sensors: 
+  -
+    type: "SensorOdom"
+    name: "odom"
+    plugin: "core"
+    states:
+      P:
+        mode: fix
+        state: [1, 2, 3]
+        dynamic: false
+      O:
+        mode: fix
+        state: [0, 0, 0, 1]
+        dynamic: false
+    k_disp_to_disp: 0.1
+    k_disp_to_rot: 0.1
+    k_rot_to_rot: 0.1 
+    min_disp_var: 0.1 
+    min_rot_var: 0.1
+processors:
+  -
+    type: "ProcessorOdom3d"
+    name: "my_proc_odom3d"
+    sensor_name: "odom"
+    plugin: "core"
+    apply_loss_function: false
+    time_tolerance:         0.01  # seconds
+    keyframe_vote:
+      voting_active:        true
+      max_time_span:          0.2   # seconds
+      max_buff_length:        10    # motion deltas
+      dist_traveled:          10   # meters
+      angle_turned:           3.1   # radians (1 rad approx 57 deg, approx 60 deg)
+    
+    unmeasured_perturbation_std: 0.00111
+    
+    state_getter: true
+    state_priority: 1
+    
diff --git a/test/yaml/params_tree_manager_sliding_window_dual_rate_baseline.yaml b/test/yaml/params_tree_manager_sliding_window_dual_rate_baseline.yaml
index 769d7376a5a5f988a5d817068d589710a49c0afc..e51b8a14692e17fca9ca6d6194be21a7291dd9d7 100644
--- a/test/yaml/params_tree_manager_sliding_window_dual_rate_baseline.yaml
+++ b/test/yaml/params_tree_manager_sliding_window_dual_rate_baseline.yaml
@@ -1,55 +1,54 @@
-config:
-  solver: 
-    follow: "solver.yaml"
-  problem:
-    frame_structure: "PO"
-    dimension: 3
-    prior:
-      mode: "factor"
-      $state:
-        P: [0,0,0]
-        O: [0,0,0,1]
-      $sigma:
-        P: [0.31, 0.31, 0.31]
-        O: [0.31, 0.31, 0.31]
-      time_tolerance: 0.1
-    tree_manager: 
-      type: "None"
-  sensors: 
-    -
-      type: "SensorOdom"
-      name: "odom"
-      plugin: "core"
-      states:
-        P:
-          mode: fix
-          state: [1, 2, 3]
-          dynamic: false
-        O:
-          mode: fix
-          state: [0, 0, 0, 1]
-          dynamic: false
-      k_disp_to_disp: 0.1
-      k_disp_to_rot: 0.1
-      k_rot_to_rot: 0.1 
-      min_disp_var: 0.1 
-      min_rot_var: 0.1
-  processors:
-    -
-      type: "ProcessorOdom3d"
-      name: "my_proc_odom3d"
-      sensor_name: "odom"
-      plugin: "core"
-      apply_loss_function: false
-      time_tolerance:         0.01  # seconds
-      keyframe_vote:
-        voting_active:        true
-        max_time_span:          0.2   # seconds
-        max_buff_length:        10    # motion deltas
-        dist_traveled:          10   # meters
-        angle_turned:           3.1   # radians (1 rad approx 57 deg, approx 60 deg)
-      
-      unmeasured_perturbation_std: 0.00111
-      
-      state_getter: true
-      state_priority: 1
+solver: 
+  follow: "solver.yaml"
+problem:
+  frame_structure: "PO"
+  dimension: 3
+  prior:
+    mode: "factor"
+    $state:
+      P: [0,0,0]
+      O: [0,0,0,1]
+    $sigma:
+      P: [0.31, 0.31, 0.31]
+      O: [0.31, 0.31, 0.31]
+    time_tolerance: 0.1
+  tree_manager: 
+    type: "None"
+sensors: 
+  -
+    type: "SensorOdom"
+    name: "odom"
+    plugin: "core"
+    states:
+      P:
+        mode: fix
+        state: [1, 2, 3]
+        dynamic: false
+      O:
+        mode: fix
+        state: [0, 0, 0, 1]
+        dynamic: false
+    k_disp_to_disp: 0.1
+    k_disp_to_rot: 0.1
+    k_rot_to_rot: 0.1 
+    min_disp_var: 0.1 
+    min_rot_var: 0.1
+processors:
+  -
+    type: "ProcessorOdom3d"
+    name: "my_proc_odom3d"
+    sensor_name: "odom"
+    plugin: "core"
+    apply_loss_function: false
+    time_tolerance:         0.01  # seconds
+    keyframe_vote:
+      voting_active:        true
+      max_time_span:          0.2   # seconds
+      max_buff_length:        10    # motion deltas
+      dist_traveled:          10   # meters
+      angle_turned:           3.1   # radians (1 rad approx 57 deg, approx 60 deg)
+    
+    unmeasured_perturbation_std: 0.00111
+    
+    state_getter: true
+    state_priority: 1