changes to promise