add kernel form & preprocessor