Add recursive pow func