work in progress on Comparable support