refactored TreeFetcher