added DependencyGraph class