rearrange data members according to ctor