Rearrange constructor