added some content negotiation