incomplete, just for the explanations. it does not work !!! :)