switch promise library to bluebird