use net.Protocol in client as well