change promise library to bluebird