working yield and exit