simple recursion manager