simplified for binary operations