load kernel template only once at module init