added framework for kernel module