The components could be of all the practicable types typically having hardware and software elements of a computing environment; hardware devices, hardware drivers, operating system components such as kernels, utilities, programming languages, application programs, debuggers, communication packages, application packages, libraries and the like.