separate units
added cpy constr and overloaded =