added final_yield