working on power function