added insertion, selection, merge