added support for yielding to a block