The next step in this evolution was distributed computing, where different computers could work on different parts of a large problem. For example, computer A could be specifically programmed to read a lab machine, while computer B could be expressly programmed to generate invoices and process payments. The advantage of this approach was that the programming of computer A could be changed to reflect the changing needs of its users without affecting the programming of computer B. For this to work, the computers needed to be small and inexpensive enough to deploy in many different locations and be able to pass information from one computer to another. Sounds like a job for PCs and networks.