made operator overloads more specific