Kernel updated for easier extend