adding code for inverse kinematics and vision