In a generic computer, hardware consists of electronic components and related gadgetry that input, process, output, and store data according to instructions encoded in computer programs or software. Typical input hardware devices are the keyboard, mouse, document scanners, and bar-code scanners. Processing devices include the central processing unit (CPU), which is sometimes called the brain of the computer. The CPU works in conjunction with main memory. Main memory is sometimes called RAM, for random access memory. Output hardware consists of video displays, printers, audio speakers, overhead projectors, and other special-purpose devices. Storage hardware saves data and programs. The magnetic disk is still the most common storage device, although solid state drives may soon replace them.