add in exponentiation and modulo support