attention this verions is not working correctly 
(intermediate version)