adding Kernel inteface and poly kernel imp