make controls more efficient

save move direction change to not calculate every time new