added kernel checks to avoid work duplication