blocking queue outline