range over funcs (coroutines) now work