refactored fetching