Immunity against viruses