ETRO-3 modifies file download to take an IO stream to avoid loading entire file into memory