genericize 2D...Comparer, move to separate file