fleshing out multipoint optimization and 'optional' constraints