fixed issue 108 not to require objects to implement Comparable