actually chan needs to be buffered