Finished part 3 compleatly with comparison discripton