guarded coroutine is compatible with native - coroutine package
 - need to work on scheduler (script thread)