refactored GradeStrategy implementations