add some method to sort