more lightweight validation rules