pow without recur