some reordering of methods
removed unused dependencies, changed repo address
changed DependencyMetadata to Dependency + initial test
some name refactoring, why do I do it?