movement implementation changed (which allows to do multiple moves at the same time)