further clarify descent calculation and simplify logic