implemented kernel persistence