refine traverse