Default constructor and destructor generation