run tasks in parallel