Updated to support percentage-based grading