Commit final de ejercicio. Realizado de refactorizacion y revert al primer commit.