added overloading operators