abstracted for use with ivirus, too