Add zoom feature (view point distinct from root). Use BSD sys/{queue/tree}.h for {list,tree} structures?