accumulate values asynchronously