improved navigation
breaking apart find_match