changed kernel structure