constructor traits
destructor traits