added reprojection back in because iterates were not converging otherwise. This warrants further investigation.