EnumerateUsingBlock and GCD added to speed up search.