square null (int) + IsLegalMove(...)
pawn.FirstMove()