update to promise