added immutable object deserialization