add generic arithmetic operations