* refactored TreeView and TreeViewItem