Do not need to use __cmp__