mplementation of a functionnal destructor