local variables can cause infloops