added real copy contructor