documented coroutine library