better test case for coroutine