load kernel in constructor