properly manage dependencies