Improved IK (hopefully)