add heap and insertion sort