Refactored constructors.