add toJsonString/fromJsonString