Split core and kernel