start work on GradeParser, refactor a bit