updated queue interface