some optimizations in kernels, reconstructor