Use the async decorator instead of gen.coroutine