reworked grader.js for URL support