simplified kernel