the great refactoring: validation rules are explicitly named and called