working on preconditioner for SLP