added product and sum kernels