added callback to fetch()