allow file content to be passed in, in case File.read will not work