Use SplPrioritizedQueue