switched from Queue to BlockingCollection