replaced the q promise library with the bluebird promise library