fixed pow function