the great refactor: validation rules are explicitly named and called