add concurrency and parallelization