make fetcher way more reliable, slight refactoring