implement opponent_view