NULL -> nullptr
enum -> enum class
override