adding kernel.hpp