one way of doing things
progress refactoring