separate chain and queue