Last commit with all the code cleaned and commented, even the tests