My solution to problem 1