Add toJSON/fromJSON