efficient ascending/descending