viruses and self replicating turing machines 714383