added destructor cleanup