bad json now produces a 400