Refactoring after Kernel Specs.
merge conflitcs from remote