redone kernel from ivendor sources