recurse for file matches