changed how the blocking queue is read