added additional validation to model hooks