both constructor&destructor can be omitted