Problem 027
Problem 025
Refactoring for testability
Refactoring for testability