data_fetcher and action can return any type