I added a ton of comments to my code if anyone tries to follow it.