Do we need to define the grad method? I don't think so, but if you are sure, can you add a comment to tell it?