reorderd flow