refactor order module