Hierarchy done, almost finished need to
 - hierarchical print
 - a way to name each branch