add different version of operator overload