flatten descendants