add cache in fetcher.py