Implement as classes for reusability
Challenge 37