coroutines: almost there!