Validator refactoring; Try to make all validations customizable