prework for breaking recursion