add priority queue with key value pairs + add lambda comparer