Priority Queue based on ArrayList
Merge origin/master