By completely isolating the software from the hardware with a hardware abstraction layer, IBM has conceived the first fully machine-independent computer: user programmers, compiler writers and operating system developers never see the registers, main memory addresses or device input-output lines, all they see are machine objects: as with Micro Focus Plc’s Cobols, the compilers compile down to an intermediate code, but in the case of the 38 – or AS/400 – the machine stores a condensed version of the source language instructions with the encapsulated program in a program template, and creating a native version of the program for a new target machine is simplicity itself – the machine picks up the template and generates the native code, and a 48-bit 38 program will thus magically become a 64-bit PowerPC program when the new chip arrives – and it will run at native speed.