All tests pass. Also, I added comments where I felt it was necessary in order to follow what the code is doing.