Refactored cloning methods.