refactored validators