update perform