Better to use a while