New clean version (preparing object oriented programmation)