tree with search functionality