cleaned up a little, added fast atan2