validation cache refactoring