Move Kernel and implementation back to the model module