[model_validation] Closer to the goal of proper error reporting and model validation. needs refactoring still