refactor order & way