Finish lab 3. Closes #66.