recursively creating children
cleanup
extracted grouping logic
button to add new leaves to table