reduce uses of Task.Run