refactor pawn movement