add weight functions, sph kernels will be replaced