added a nested preconditioner