workout refactoring