draft of SortByPreDefineOrder