starter code
refactoring stage