Refactorización del código y adición de más comentarios