completely converted from spray-json to Jackson