begin work on Kernel implementation