simple coroutine implemented
some unit tests added to coroutine