don't assume bulk file is a StringIO