Fixed hashCode & equals & compareTo bug