SelfCheck logic implemented, castling, en passant