Make the constructors smarter.