Added validations and associations for all models