implement pawn move rules