using protocol_system to simplify networking