added kernel explanations