used guice to build everything easier
replaced FileInfoResolver with FileTree which reduces latencies of some operations and provides data that is more consistent