move fetching to model