framework of priority_queue