refactoring cache

- creating cache manager [in progress]
- fixing includes[in progress]