Acomodado del código con regions y agrupaciones que tengan mas sentido para no perderse :)