move constraints to optimizers - part I