Now in parallel instead of sequentially, 2x faster. Benchmarked using stopwatch with 31 items in library: Sequential: 1. 78771 ms 2. 74503 ms 3. 73165 ms Parallel: 1. 36270 ms 2. 33703 ms 3. 33838 ms