improve BlockingQueue