create kernel