conceptually simplify the loop