added exponential operation