added power using recursion