Rearrange various constructor arguments to make more sense