insertion sort list reimpl