set maximum iterations only if new value > 0.  Otherwise keep default
make algorithm type a template parameter in the utilities