refactor insertion and selection sort
include merge sort