diff --git a/checks/check_2d.cpp b/checks/check_2d.cpp
index 32dc8023bc9d3763f1f38e9be660f8bb1fcc919b..bd8ec0071167bf5bea8ff479da9b0e27a083b39e 100644
--- a/checks/check_2d.cpp
+++ b/checks/check_2d.cpp
@@ -54,7 +54,7 @@
 #include "scalfmm/utils/compare_trees.hpp"
 
 /// \code {.c++}
-/// checks/Release/check_2d -th 4 --order 5 --input-file../data/units/test_2d_ref.fma -gs 100 --check
+/// checks/Release/check_2d -th 4 --order 5 --input-file ../data/units/test_2d_ref.fma -gs 100 --check
 /// \endcode
 ///
 
@@ -148,7 +148,13 @@ auto read_data(const std::string& filename)
     }
     return std::make_tuple(container, center, width);
 }
-
+template<typename group_tree_type, typename BoxType, typename ContainerType>
+auto build_tree(int tree_height, std::size_t order, BoxType const& box, int group_size, ContainerType const& container,
+                bool sorted) -> group_tree_type
+{
+    group_tree_type tree(tree_height, order, box, group_size, group_size, container, sorted);
+    return tree;
+}
 /**
  * @brief
  *
@@ -237,7 +243,9 @@ auto run(const int& tree_height, const int& group_size, const std::size_t order,
     // Build tree
     box_type box(box_width, box_center);
     bool sorted = false;
-    group_tree_type tree(tree_height, order, box, group_size, group_size, container, sorted);
+    auto tree = build_tree<group_tree_type>(tree_height, order, box, group_size, container, sorted);
+
+    // group_tree_type tree(tree_height, order, box, group_size, group_size, container, sorted);
     //
     ////////////////////////////////////////////////////