Refactorizacion de codigo.
Merge branch 'tema2' into tema3: añadidas mejoras del tema 2.