acabado pero con error if y mejorable