Implemented coroutine support