Pawn movement

Refactoring was done to reduce complexity