rewrote search_traverse (getting there)