added cached download option