big refactoring of fetcher and storage api.