well, it's not perfect yet, but this is better: direction is the vector of our motion, and is only accurate absolutely when speed is 0.  We have to track how the angle of the body changes directly