originally I was planning to build tree view by dysplayName. in the latest implementation it is not so important