visibility change for custom deserialization