added addition and subtraction