 Related to the minimality principle, and equally important for microkernel design, is the separation of mechanism and policy, it is what enables the construction of arbitrary systems on top of a minimal kernel.Any policy built into the kernel cannot be overwritten at user level and therefore limits the generality of the microkernel.Policy implemented in user-level servers can be changed by replacing the servers (or letting the application choose between competing servers offering similar services).