DirectoryContents moved into DirectoryTree, rewritten