refactored the keys into two new types:  dependencies and type keys