refactoring kernel cache