learn how kernel works