handles different workout types
Moved methods to the model