Add capability negotiation logic