added basic proconditioning