new movement algorithm