diff --git a/source/RobotAPI/libraries/diffik/SimpleDiffIK.h b/source/RobotAPI/libraries/diffik/SimpleDiffIK.h
index 2adcf162d666013f1d61016be15394761ad30e02..e51be99211a5c8c71f612ab920be6a65bfabdcab 100644
--- a/source/RobotAPI/libraries/diffik/SimpleDiffIK.h
+++ b/source/RobotAPI/libraries/diffik/SimpleDiffIK.h
@@ -111,4 +111,19 @@ namespace armarx
         ///@brief Use this to check a trajectory of waypoints
         static Reachability CalculateReachability(const std::vector<Eigen::Matrix4f> targets, const Eigen::VectorXf& initialJV, VirtualRobot::RobotNodeSetPtr rns, VirtualRobot::RobotNodePtr tcp = VirtualRobot::RobotNodePtr(), Parameters params = Parameters());
     };
+
+    class SimpleDiffIKProvider :
+        public DiffIKProvider
+    {
+    public:
+        SimpleDiffIKProvider(VirtualRobot::RobotNodeSetPtr rns, VirtualRobot::RobotNodePtr tcp = VirtualRobot::RobotNodePtr(), SimpleDiffIK::Parameters params = SimpleDiffIK::Parameters());
+        DiffIKResult SolveAbsolute(const Eigen::Matrix4f& targetPose);
+        DiffIKResult SolveRelative(const Eigen::Matrix4f& targetPose, const Eigen::VectorXf& startJointValues);
+
+    private:
+        VirtualRobot::RobotNodeSetPtr rns;
+        VirtualRobot::RobotNodePtr tcp;
+        SimpleDiffIK::Parameters params;
+    };
 }
+