still calling two constructors. correct values still not being preserved