refactor fetcher implementations info separate files