rewrited dowload method