refactor to results wrapper and exercise manager