A better loop, not perfect