extracted binop eval into method