Lecture 17 - Putting it all Together