added 3 ways of insertion sort