factor out model_exceptions