Base implementation of copy()