more refactoring of workout interfaces