The goals of instructional lab courses have been highly debated for decades. Many lab courses still focus on reinforcing physics content (which is also presented in lectures and recitations) with very limited success. Labs offer a unique space, however, for students to learn about the nature of science, the nature of experimentation, and quantitative critical thinking skills. In this talk, I will describe our physics lab course structure that relies on iterative cycles of making, interpreting, and acting on comparisons between data and models. By focusing the iterations on evaluating and improving measurements and uncertainty, students explore the limits of physical models in the real world and engage in the evaluation and refinement of these models. They also evaluate and physically interpret the uncertainty in their collected data and the role that it plays in modeling. I will describe our research studies that have implemented and evaluated the effectiveness of this structure. From these studies, we have found dynamic improvements in students' critical thinking and reasoning about data, methods, and models, as well as their experimentation behaviors. I will also discuss new methods of evaluating student mastery of these skills on a widespread basis.