refactor using new change engine

refactor using new change engine