diff --git a/test/gtest_processor_loopclosure.cpp b/test/gtest_processor_loopclosure.cpp
index f2c99aac536fb2265ad100f00f41def2aa2abeae..a7fc6818d0b739682eb546923bab9cb40e9bef27 100644
--- a/test/gtest_processor_loopclosure.cpp
+++ b/test/gtest_processor_loopclosure.cpp
@@ -70,8 +70,7 @@ TEST(ProcessorLoopClosure, installProcessor)
                                                     std::make_shared<StateBlock>(Eigen::VectorXs::Zero(1)),
                                                     std::make_shared<StateBlock>(Eigen::VectorXs::Zero(2)), 2);
     ProcessorParamsLoopClosurePtr params = std::make_shared<ProcessorParamsLoopClosure>();
-    ProcessorLoopClosureDummyPtr proc_lc = std::make_shared<ProcessorLoopClosureDummy>(params, factor_created);
-    proc_lc->link(sens_lc);
+    auto proc_lc = ProcessorBase::emplace<ProcessorLoopClosureDummy>(sens_lc, params, factor_created);
     std::cout << "sensor & processor created and added to wolf problem" << std::endl;
 
     // initialize
@@ -82,7 +81,7 @@ TEST(ProcessorLoopClosure, installProcessor)
 
     // new KF
     t += dt;
-    FrameBasePtr kf = FrameBase::create_PO_2D (KEY, t, x); //KF2
+    FrameBasePtr kf = problem->emplaceFrame(KEY, x, t); //KF2
     proc_lc->keyFrameCallback(kf, dt/2);
 
     // new capture