removed kernel function