I'll need to modify yield slightly, but I think that could work