added pickling json support