added insertion sort implementation and header