Hybrid kernels are a quasi-classification of operating system (OS) kernel architecture, based on combining traits of monolithic kernel and microkernel designs. The goal is to use a kernel structure implemented as a monolithic kernel, but structured in some ways as a microkernel. As in monolithic kernels, all (or nearly all) services run in kernel space, the reverse of a microkernel, where services run in user space. As in monolithic kernels, no performance overhead occurs due to microkernel message passing and context switching between kernel and user mode, but no benefits occur of running services in user space. This classification is controversial. The term has been dismissed by some as a marketing phrase. In OSs, the usually accepted classifications are monolithic kernels and microkernels, with nanokernels and picokernels being more extreme versions of microkernels.