simplify to use Accept negotiation