Refactor pawn movement code; fix double-jumping from wrong side