update i-promise