started implementation of copy()