improve content negotiation