Generic Type Storage
Slight Refactor