major fixes to movement implementation