rating, with validations, tested