implement legacy json