class Pair is now generic