cleaned up kernel type propagation