agregado todo el codigo