update promise api