why change to a `for` loop?