only yield if block