Final code with comments. Still having some trouble with this one.