Added generalized means of specifying which algorithms work for each problem.