Basic Design of Priority Queue