tweaked queue interface