some modernization for the recent update