Implemented Challenge 1 & 2