Defalt constructor and destructor