describe "non-recursive" as "only if needed recursive"