Refactoring Problem -> ProblemModel