copy constructor and interface (part 2)