added grader and checks init
revise index reflexive design