add comparable and comparator  use method