better kernel copying