2 followed on January 24, 1994; and Service Pack 3's release date was October 29, 1994. The service packs were distributed on CD-ROM and floppy disk, and also through bulletin board systems, CompuServe, and the Internet. Microsoft terminated support for the operating system on December 31, 2000. Support for Windows NT 3.1 RTM (without a service pack) ended on January 8, 1994. Service Pack 1 support ended on April 24, 1994, and finally, Service Pack 2 support ended on January 29, 1995, only 1 year after general availability. Windows NT 3.1 was localized into various languages. Besides English, it was available in Dutch, French, German, Japanese, Spanish and Swedish. The version for workstations, but not Windows NT 3.1 Server, was additionally available in Danish, Finnish, Italian, Norwegian and Portuguese. Operating system goals Cutler set three main goals for Windows NT. The first goal was portability: in contrast to previous operating systems, which were strongly tied to one architecture, Windows NT should be able to operate on multiple architectures. To meet this goal, most of the operating systems, including the operating system core, had to be written in the C programming language. During the planning phase it was clear that this would cause Windows NT to have higher memory consumption than all previous operating systems. Besides the graphics system and parts of the networking system, which were written in C++, only parts of the operating systems which required direct hardware access and performance critical functions were written in assembly language. These parts were isolated so that they could easily be rewritten when porting the operating system to a new architecture. The second goal was reliability: The system should no longer crash due to a faulty application or faulty hardware. This way, the operating system should be made attractive for critical applications. To meet this goal, the architecture of Windows NT was designed so that the operating system core was isolated and applications could not access it directly. The kernel was designed as a microkernel and components of the core were to run atop the kernel in a modular fashion; Cutler knew this principle from his work at Digital. Reliability also includes security, and the operating system should be able to resist external attacks. Mainframes already had a system where every user had their own account which was assigned specific rights by the administrator, this way, users could be prevented access to