implement more binary op. inlining and unary operators