diff --git a/CMakeLists.txt b/CMakeLists.txt
index e010ebb949c8e713f175a5bb5e40de7569d7eabf..6e448bdb127e0d66a8622308d5246b6db2d3d2ae 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -162,12 +162,12 @@ add_library(tadah
     $<TARGET_OBJECTS:tadah.mlip.obj>
     $<TARGET_OBJECTS:config::rc>
     )
-target_link_libraries (tadah PUBLIC config::rc)
+target_link_libraries(tadah PUBLIC config::rc)
+target_link_libraries(tadah PUBLIC tadah.hpo)
 
 
 add_executable (ta-dah bin/tadah.cpp)
 target_link_libraries(ta-dah PRIVATE tadah)
-target_link_libraries(ta-dah PRIVATE tadah.hpo)
 
 #########################################################################
 if(TADAH_MARCH_NATIVE)
diff --git a/examples/ex_hpo_1/ex_hpo_1.cpp b/examples/ex_hpo_1/ex_hpo_1.cpp
index 7506b62ca871e7f2a13d7148e2928004624d0348..ead667b1ce49380326636d77f1210cde28b6cb6f 100644
--- a/examples/ex_hpo_1/ex_hpo_1.cpp
+++ b/examples/ex_hpo_1/ex_hpo_1.cpp
@@ -1,13 +1,11 @@
 #include <iostream>
-#include <tadah/HPO/hyper_param_opti.h>
 #include <tadah/HPO/hpo_targets.h>
-#include <tadah/HPO/lammps_scores.h>
-#include <tadah/config.h>
+#include <tadah/HPO/hyper_param_opti.h>
+#include <tadah/HPO/glf.h>
+#include <tadah/HPO/runners.h>
+#include <tadah/CORE/config/config.h>
 #include <dlib/global_optimization/find_max_global.h>
 
-using T = dlib::matrix<double,0,1>;
-using LS = LammpsScores;
-
 /**  @file ex_hpo_1.cpp
  * This example shows how to optimise hyperparameters (HP)
  * of the model with an external minimiser. The model will be optimised
@@ -91,11 +89,15 @@ using LS = LammpsScores;
  *      https://journals.aps.org/prb/abstract/10.1103/PhysRevB.88.134101
  */
 int main() {
+
     Config config("config.train");
 
-    HPOTargets trg("targets");
+using R = LammpsRunner;
+using D = GLF;
+using T = dlib::matrix<double,0,1>;
 
-    HyperParamOpti<T, LS> hpo(config,trg);
+    HPOTargets trg("targets");
+    HyperParamOpti<T, D, R> hpo(config,trg);
 
     const T lowbound = dlib::mat(trg.configmin);
     const T highbound = dlib::mat(trg.configmax);
@@ -107,6 +109,5 @@ int main() {
             );
     std::cout << result1.x << std::endl;
     std::cout << result1.y << std::endl;
-
     return 0;
 }