added fiber (coroutine) based ruby version