Valdiation refactoring