added consumer and producer with blocking collection