moved compareTo, changed constructor args