order constructor arguments correctly