redesigned GenInsertSort