improved handling of direction with Angle
tidy up comments, remove unnecessary functions