remove q and use ES6-Promises with polyfill plugin dependency