added dequeue predicate using interface