add initial version of self grader