Kernel Design