caching, refactoring