refactored order-of method