add interface JsonSerializable