reintroduced <Object>.promise