don't touch dependencies more than once
prototype work on creating a cache.
toying with dependencies