resolve transitive dependencies lazily