functools.total_ordering is not available in 2.6