Updated `pow` function