Refactored to use member initilizers.