Estructurado un poco el código para que se lea mejor.