[+] add download function