client negotiation