introducing es6-promise