There are several types of computer viruses including boot sector viruses, direct action viruses, resident viruses, multipartite viruses, polymorphic viruses, overwrite viruses, space filler viruses, file infector viruses, macro viruses, root kit viruses, and system or boot-record infector viruses. Boot sector viruses infect the master boot record and are difficult to remove, often requiring formatting. Resident viruses store in memory, allowing infection of other files even after the infected program terminates. Polymorphic viruses alter their signature pattern with each replication, making them difficult to identify with traditional antivirus software.