use net.Stream