add ReorderList and unit tests