upgrade the arx core function