implement add/mul/div.