incorpora cambios de Mariano y divide en metodos