merged in Eric's nonlinear constraint
merged in Eric's nonlinear constraint