I'd also update compareTo() to not rely on toString()...