partial multiple optimization with constructor mess