added pow function