seems like you're duplicating a lot of the logic in `.getPosition`