update promise