avoid unsafe const_cast
change