traverse_dir, a util function