accounts for moving into check
castling implemented