queue interface