interface of queue