Added copy constructor instead of implementing Cloneable