problem-splitting