add list sort function