Final Submission For Challenges 1 & 2