commutative binary operation