add generate_json