added power method