doing the right thing for Promise polyfill