added multi problem type support