add promise.all