improve fetcher