refactored strictlyOrdered