improved fetcher