restrict to kernel