initial grader implementation