simplify caching
properly overwrite addDep methods to track transitive deps