more readable loop