pawn movements refactor