working with the kernal