fetcher now picks up where it left off last time, rather than querying from the start again for each source