add timeout to fetcher