Kinematic algorithms