Adding the bluebird promise implementation