first rough stab
suppress equal value reporting
A little recursion