Algorithm::Pair::Best2 is a re-write of Algorithm::Pair::Best. The interface is simplified and the implementation is significantly streamlined. After creating an Algorithm::Pair::Best2 object (with->new), add items to the list of items (i.e: players) to be paired. The final list must contain an even number of items or picking the pairs will throw an exception. Algorithm::Pair::Best2->pick explores all combinations of items and returns the pairing list with the best (lowest) score.