added all binary operations