Refactor Problem 22
Refactoring Problem 23... not done