added in new method and a better abstract fetcher