move namespace std into header
make cache class have only private data, and getters