change API, now we have compareTo, toArray and toString
also add __toString()