add reorder function