improving json support