Refactored validations and added rating averages