use native es6 promises
0.5.8