+ add fromJson Function