who needs a copy constructor anyway?