downloading functionality complete