Three types of programs that can infect a computer