new version, output json dict