Implementing the constructors.