Rewrote optim1 to be efficient through forcing push selections
Merging with Emilien's changes