Add problem 2
Refactor Problem 2 and solve Problem 3