refactored preconditioning in kriging