get a deep copy of the object