additions for the bluebird promise implementation