guarding against empty children and no name, but this will only really happen if something goes wrong with the AJAX call