modify promise