update negotiation combination function