Greatly improved positionController()