never place a condition which can't iterate before one that can