change txPool to be a buffered chan