Workout api and tests