support different grades