"Turn towards" is pretty tricky to work out how to do, it took me a long time to figure out (years) but I now use it in almost every project. Essentially, if the (target direction - current direction) is negative, then turn anticlockwise, otherwise clockwise. The tricky bit is making sure that (target direction - current direction) results in a number between -180 and 180, or it will go in the wrong direction (you don't want it to result in 270 for example, in such a case it should be -90 and therefore turn the other way) To do this, add 180 to it, do a mod 360 on it, (so the number is between 0 and 360) and then take away 180 again to get the number between -180 and 180. This gives you a the exact number of degrees you need to turn, you can then divide that by some number to move a smooth amount.