added grade.js, don't know if it is necessary