add some docs and make token channel not be buffered