better grader with more checks and url support