no more singleton + refactoring to LRU cache: part 1