Added source root tests, updated the internal data structure to include a tree.