fixed copy constructor