IK refactoring