add separate helper functions for async downloads.