moved id handling into fetchers