Lately, it seems like software organizations have been focusing on merging and stream-lining their multiple code bases into a single, flexible, and more manageable base. A good example of this is Microsoft Windows 10. Before Windows 10, Microsoft had multiple operating system code bases such as Windows XP, Windows Vista and Windows 7. With the growing demand for multi-device support, Microsoft saw the need to stream-line their code base toward a single operating system that could run on any device – enter Windows 8. Now with Windows 10, the same OS will run on a mobile device such as the Lumia, a tablet device such as the Microsoft Surface 3, and of course on personal computers, laptops, and servers.