use a tree, rather than a set, to store file index