The download specific functions should maybe be exported (i don't know if other modules would need to download files to disk)