cleaner primal constraint interface