Completed Challenge 2. It could stand to have some improvements, but it works for the most part