switch to using class var because we actually want all the subclasses to share the same comparator
merge class var changes with #32