select download image
select download data
function to private
refactor