add fast_exponent function,not complete