refactored order split