Changed Q to bluebird for promise.