fetcher implementation; introducing decoder