diff --git a/demos/hello_wolf/hello_wolf.cpp b/demos/hello_wolf/hello_wolf.cpp
index ec8cffefd026e7a7d0ff0eaba99c439132e6efc9..4119afd6df516f16160d41912f30f2c9610e9456 100644
--- a/demos/hello_wolf/hello_wolf.cpp
+++ b/demos/hello_wolf/hello_wolf.cpp
@@ -247,14 +247,14 @@ int main()
     ranges << 1.0;  // see drawing
     bearings << M_PI / 2;
     CaptureRangeBearingPtr cap_rb = std::make_shared<CaptureRangeBearing>(t, sensor_rb, ids, ranges, bearings);
-    sensor_rb->process(cap_rb);  // L1 : (1,2)
+    cap_rb->process();  // L1 : (1,2)
 
     // STEP 2 --------------------------------------------------------------
     t += 1.0;  // t : 1.0
 
     // motion
     CaptureOdom2dPtr cap_motion = std::make_shared<CaptureOdom2d>(t, sensor_odo, motion_data, motion_cov);
-    sensor_odo->process(cap_motion);  // KF2 : (1,0,0)
+    cap_motion->process();  // KF2 : (1,0,0)
 
     // observe lmks
     ids.resize(2);
@@ -264,14 +264,14 @@ int main()
     ranges << sqrt(2.0), 1.0;  // see drawing
     bearings << 3 * M_PI / 4, M_PI / 2;
     cap_rb = std::make_shared<CaptureRangeBearing>(t, sensor_rb, ids, ranges, bearings);
-    sensor_rb->process(cap_rb);  // L1 : (1,2), L2 : (2,2)
+    cap_rb->process();  // L1 : (1,2), L2 : (2,2)
 
     // STEP 3 --------------------------------------------------------------
     t += 1.0;  // t : 2.0
 
     // motion
     cap_motion->setTimeStamp(t);
-    sensor_odo->process(cap_motion);  // KF3 : (2,0,0)
+    cap_motion->process();  // KF3 : (2,0,0)
 
     // observe lmks
     ids.resize(2);
@@ -281,7 +281,7 @@ int main()
     ranges << sqrt(2.0), 1.0;  // see drawing
     bearings << 3 * M_PI / 4, M_PI / 2;
     cap_rb = std::make_shared<CaptureRangeBearing>(t, sensor_rb, ids, ranges, bearings);
-    sensor_rb->process(cap_rb);  // L1 : (1,2), L2 : (2,2), L3 : (3,2)
+    cap_rb->process();  // L1 : (1,2), L2 : (2,2), L3 : (3,2)
     problem->print(1, 0, 1, 0);
 
     // SOLVE ================================================================