validators refactored