added cache json support