https://www.zackvision.com/weblog/2003/11/grading-and-more/
Grading and More