function calls are more performant than chan, right? see if it's really so; then should go back