Description
The current code is really bad, just basically unapproachable. I was thinking of exploring positionLength support here, but we can't possibly make it any more complex with the current structure.
this thing just needs some very basic code organization, cleanup, and love.