rewrited json generation, better suggestion