@polesye What is the purpose of this function? Contrarily to  ```getGrader ```, that must be implement in every derived class (hence the throw Error statement in it), ```getState``` is only used in ```GradeOnPercent```. I would remove it. (```getProgress``` for example is not defined here, only below).