Implement real copy ctor