Added Problem 5 and Refactored 1 - 4