Extend base classes for add a deep copy