added: add grade functionality