Codigo re-estructurado.