impove the overloading opearator