add spray-json
implement most of the route