Small update...
Second try, with a more organized structure