updated single kernel