some order refactoring