reorganized model attribute validation