adding json serialization