added more infection logic