overloaded the = operator