Use bluebird promise instead of q.