add BlckingQueue implementation