avoid end result traverse