model validation is handled