some math library refinement
basic movement