refactored pattern one
refactored pattern two
refactored pattern three
refactored pattern seven
refactored twenty five