Improved constructors.