fix copy constructor