add opAssign and const for operators