preserve order when enumerating children