new condition expression only executes appropriate sub expression