General purpose hierarchical data structure
