implement bubble, selection, insertion sort