kernel design