this should be moved to the manipulator