loopUntilEmpty