completed walkthrough for lecture 3