add yield, todo7 and todo8