add efective power function
 add refactoring  efective power