deep copy obj