update kernel (a little remains)