1) why do you still user "text"? are there other places?
2) has children: no need;
3) anyway my initial comment applies: i.e. why root1, root2, etc