less naive dependency resolution