there should have a way of preventing tail recursion when debugging.
