updated copy constructors