abstract file searcher