make the client construction actually specify the 'protocol' parameter where it is expected