only yield if block given