added file download method