Overhauled the fetcher and added documentation