in fact all the destructors are called automatically when the object is unset