the ProblemData interface has to be public