new order by propagation of values and unit testing for the ordering