whoops
whoops, positions are row vectors, not columns
abstract away direction-to-angle conversion