nonrecursive