added modpow