added kernel code. don't compile.