add difference display interface to other modes and refactor