added better dependency management