Redefined and improved BaseProblem and IProblem