this part should be moved to the repository, it's its job to fetch data